冒泡排序,一种很常见的排序法师
这章要划重点,很重要!!
排序思路为前一个元素与后一个元素比大小,一直循环一轮,找出最大/最小的那个元素后,进行下一轮,找到第二大/小的元素......直到排序完毕,打印
注意,一维数组打印用for循环,并且元素储存给一个变量再赋值给另一个变量也很重要(详见【C++】数组案例 五只小猪称体重)
下面是一个实例
#include<iostream>
using namespace std;
int main5() {
//利用冒泡排序实现升序序列
int arr[9] = { 4,2,8,0,5,7,1,3,9 };
cout << "排序前:" << endl;
for (int i = 0; i < 9; i++)
{
cout << arr[i] << " ";
}
cout << endl;
//开始冒泡排序
//总排序轮数 = 元素个数 - 1
for (int i = 0; i < 9 - 1; i++)
{
//内层循环对比 次数 = 元素个数 - 当前轮数 - 1
for (int j = 0; j < 9 - 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 < 9; i++)
{
cout << arr[i] << " ";
}
cout << endl;
system("pause");
return 0;
}
输出结果为