c++回顾冒泡排序
每轮把该轮中最大的一个数排在后面(正确的位置)
进行(元素个数-1)轮
每排一轮,判断次数-1(因为末尾的数字排好了就不用去管)
//冒泡排序
#include<iostream>
using namespace std;
int main()
{
int arr[10] = { 4,6,1,8,7,9,0,2,5,3 };
int num = 0;
for (num = 0; num < 10; num++)
{
cout << " "<<arr[num] ;
}//打印原序列
cout<<endl;
const int n = sizeof(arr) / sizeof(arr[0]);//计算需要排序的元素个数
int i, j = 0;//循环的两个变量
int sh = n;//定义变量每排列一个数,判断次数-1;
for (i = 0; i < n-1; i++)//需要排列的轮数
{
for (j = 0; j < sh-1; j++)//每轮需要排列判断的次数
{
int end = 0;//
if (arr[j] > arr[j+1])//大在前就两两交换
{
end = arr[j];
arr[j] = arr[j+1];
arr[j+1] = end;//
}
}
sh--;//每排一轮,判断次数递减
}
for (num = 0; num < 10; num++)
{
cout << " "<<arr[num] ;
}
return 0;
}