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