c++冒泡排序
从第一个开始
访问每一个元素,如果第一个比第二个小,就进行交换值更新,如果不小,不变
这样之后,最后一个就是最小值
从第一个开始
访问出最后一个外每个元素,如果第一个比第二个小,就进行交换值更新,如果不小,不变,这样之后,倒数第二个就是其余的最小值
以此类推,直到结束
注意:双循环,i和j<9-i
flag确定是否还需要排序
int main()
{
int a[10] = {300,350,200,400,250,245,436,573,574,689};
for (int i = 0; i < 9; i++)
{
int flag = 0;
for (int j = 0; j < 9-i; j++)
{
if (a[j]<a[j+1])
{
int node = a[j+1];
a[j+1] = a[j];
a[j] = node;
flag = 1;
}
}
if (flag == 0)
{
break;
}
}
for (int i = 0; i < sizeof(a)/sizeof(a[0]); i++)
{
cout << a[i] <<endl;
}

浙公网安备 33010602011771号