A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lipeng518 中级黑马   /  2016-9-12 00:32  /  433 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

选择排序与冒泡排序其实差不多      
相同:
两种排序所比较的轮数是一样的,也就是说外层循环数是一样的   
都是for(int i = 0,i < len-1, i++ )           len代表数组长度

不同:
选择排序:
拿下标为 i 的元素与后面所有的元素比较,   用  i 与  (i+1)  开始   那我们就令  j = i+1;
一直比较到数组结尾,  也就是len  那么内层循环就是  for (j=i+1,j<len,j++)
其中判断条件是以外层循环的 i 为标准  if (arr[i] < arr[j])

冒泡排序:
虽然也是前后比较,但是是每次比较,内层循环都会少比一次,也就是len - i次 那么内层循环就是 for(j=0,j<len-i-1,j++)
其中判断条件是以内层循环的  j  为标准     if (arr[j] < arr[j+1])

1 个回复

正序浏览
一看就加深了理解
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马