八大排序算法

 

 

 

 

 

1、冒泡排序:

思想:数组中相邻两数进行比较,大的往后排

细节:(1)一趟排序能够确定数组最后一个位置上的数

   (2) 如果一趟结束,没有发生元素交换,那说明数组已经有序,无需继续,所以每遍历外层循环一次,就把boolean类型变为false,如果发生交换变为true,这样做可以优化代码

   (3)代码的话一定要会确定两层for循环的次数 ,这个非常重要!

   

 

 

 

 

2、直接选择排序

思想:从1-n中找出最小的与第一个位置交换,然后再从2-n中找出最小的与第一个位置交换

 

细节:确定for循环的次数,第一个for循环只需要遍历n-1次,第二个for循环遍历次数与第一次有关系

数组位置交换要注意  如图代码,min一定是标记的数组坐标,而不是数组中的值,否则就会出现问题

 

 

 

 

 

3:

思路:每次将待插数插入到一个有序数组中

代码细节:待插数a[ i ],  向前遍历查找:如果a比他大,就将a往后移动,如果b比他小,就插入在b下一个位置;

容易忽略的点:将要插入的数得保存起来 temp;不然 j 移动的时候会覆盖掉

 

 

 

posted @ 2021-10-20 17:35  11111ghm  阅读(90)  评论(0)    收藏  举报