C语言冒泡(起泡)排序与选择排序的循环条件区别

冒泡排序(写法1):

  flag = true;

  i = 0; i < n-1; ++i{

    j = 0; j < n-1-i; ++j{//从前面开始冒泡

      if([j] < [j+1]){

        交换;//小的放后面

        flag = false;

      }

    }

    if(flag == true){break;}//若没有交换,则代表已完成排序

  }

扫描二维码关注公众号,回复: 5577616 查看本文章

冒泡排序(写法2):

  flag = true;

  i = 0; i < n-1; ++i{

    j = n-1; i <j; --j{//从后面开始冒泡

      if([j] < [j-1]){

        交换;//小的放前面

        flag = false;

      }

    }

    if(flag == true){break;}//若没有交换,则代表已完成排序

  }

选择排序:

  i = 0; i < n-1; i++

    min = i;//从未排序区中,选择最目前最小者

    j = i; j < n-1; j++

      if([min] > [j]){

        min = j;

      }

    if(i != min){

      [min]与[i]交换;

    }

猜你喜欢

转载自www.cnblogs.com/austainfael/p/10553798.html