浅谈冒泡排序,选择排序

1.冒泡排序:
核心思想:
利用for循环嵌套,将相邻的两个数组值进行比较,此时如果想实现从小往大排序,比较时,若两个数比较前前一个数较小,则不变,若前一个数较大,则将前一个数和后一个数交换,一直循环下去。
循环规律如下:
有arr.leng个数时总共需要比较arr.leng-1次(外层循环控制)
i设置从0开始,方便取值比较。
因为前一轮比较完已经找到了最大值,所以每后一轮,比较次数可以-1次
例如 如果是 5个数
第一轮比较4次
第二轮比较3次
第三轮比较2次
规律如下,轮数每增加一轮,次数减少一次,所以内层循环j<arr.leng-1-i
下面附上代码便于理解

浅谈冒泡排序,选择排序

选择排序:
核心思想:
默认第一个数最小,min=i;i从0开始
将第一个数和后面的所以数组值进行比较,如果发现有比第一个数更小的,则将更小的数的下标赋值给第一个数的min,最后判断如果min里的值不等于i,说明默认的数并不是最小,则将两者交换。然后开始第二轮比较
第二轮比较的时候因为,第一个数已经是最小,所以默认的最小值依然是min=i,此时i循环过后变为1;
以此类推,总共需要比较arr.leng-1轮,
若有5个数
第一轮比较4次
第二轮比较3次
第三轮比较2次
规律如下,轮数每增加一轮,次数减少一次,此时通过控制起始值j=i+1来减少轮数,也方便比较
下面附上代码便于理解
浅谈冒泡排序,选择排序

逆战班