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;
  }
 
posted @ 2022-04-08 14:34  纸包鱼  阅读(49)  评论(0)    收藏  举报