冒泡排序(倒序)
程序员文章站
2022-03-21 21:16:50
...
#include <iostream>
#include <cmath>
void main()
{
using namespace std;
int a[10] = { 1,2,3,4,5,6,7,8,9,10 };
int temp; //用于数据交换时元素暂存
int min = 0; //min为数组下标,每次循环前初始化为0
for (int i = 0; i != 10; i++)
{
for (int j = 0; j != 10 - i; j++) //已知数组末端为上次循环获取的最小值,故此次循环仅考虑剩余元素中的最小值,此思路可减少迭代次数
{
if (a[min] > a[j])
min = j;
}
temp = a[min];
a[min] = a[10 - i - 1];
a[10 - i - 1] = temp; //将最小的值移动到数组末端
min = 0;
}
for (int i = 0; i != 10; i++)
{
cout << a[i] << " ";
}
}
大于号改小于号变成正序的冒泡排序(min可以顺手改成max,方便理解)
上一篇: Collections排序(正序与倒序)
下一篇: 安装PyTorch过程中遇到的个别小坑