2、冒泡排序
作用: 最常用的排序算法,对数组内元素进行排序
- 比较相邻的元素。如果第一个比第二个大,就交换他们两个。
- 对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
- 重复以上的步骤,每次比较次数-1,直到不需要比较
#include<iostream> using namespace std; int main() { int arr[] = {1,3,0,2,4,6,9,7,8,5}; //冒泡排序前数组为 cout << "冒泡排序前数组为:" << endl; for (int i = 0; i < sizeof(arr) / sizeof(arr[0]) ; i++) { cout << arr[i] << " "; } cout << endl; //冒泡排序开始,外部循环次数 = 排序总轮数 = 元素个数 - 1 for(int i = 0; i < sizeof(arr) / sizeof(arr[0]) - 1; i++) { //内部循环次数 = 每轮对比次数 = 元素个数 -排序轮数 - 1 for(int j = 0 ; j < sizeof(arr) / sizeof(arr[0]) - i - 1 ; j++) { //比较相邻的元素。如果第一个比第二个大,就交换他们两个 if (arr[j] > arr[j + 1]) { int temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } } //冒泡结束 cout << "冒泡排序后数组为:" << endl; for (int i = 0; i < sizeof(arr) / sizeof(arr[0]) ; i++) { cout << arr[i] << " "; } cout << endl; system("pause"); return 0; }