冒泡排序(降序):
理解:将相邻的两个数依次比较,小的数应该排在后方;多次进行上述操作,直到整个数列有序为止。
时间复杂度:O(N²)。
C++实现:
using namespace std;
int main()
{
int a[5] = {18,35,99,12,76};
int n = 5;
for(int i=0;i<n-1;i++) // 要对n个数排列,只需n-1个数排好位置,剩余的一个数自动归位;
for(int j=0;j<n-i;j++) // 从第一个数开始,到已归好位的那个数为止,进行相邻的比较;
{
if(a[j] < a[j+1]) //降序
swap(a[j],a[j+1]);
}
for(int i=0;i<n;i++)
cout << a[i] << " ";
return 0;
}