• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

austainfael

  • 博客园
  • 管理

公告

View Post

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

冒泡排序(写法1):

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

    flag = true;

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

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

        交换;//小的放后面

        flag = false;

      }

    }

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

  }

冒泡排序(写法2):

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

    flag = true;

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

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

        交换;//小的放前面

        flag = false;

      }

    }

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

  }

 

选择排序:

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

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

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

      if( arr[min] >  arr[j] ){

        min = j;

      }

    if(i != min){

       arr[min]与 arr[i]交换;

    }

 

posted on 2019-03-18 18:01  水果和蔬菜  阅读(935)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3