今天学习了四种排序的方法,对于今天的学习总结如下:
①冒泡法,冒泡法是一一比较两个相连两数的大小,按照从小到大的排列。
例如:
第一个数和第二个数相比较,如果第二个数比第一个数小,那么第二个数就排在第一个数的前面,也就是说,第一个数和第二个数交换位置;然后再拿“刷新“过后的第二个数和第三个数相比较,如果第二个数比第三个数大,那么相熟交换位置,如果第二个数比第三个数小,那么久不交换位置。但是还有一种情况就是:如果两个数相等,那么就不用交换位置。然后把从第一个数开始一直循环到输出截止。
②直接排序法:就是第一次从R[0]~R[n-1]中选取最小值,与R[0]交换,第二次从R[1]~R[n-1]中选取最小值,与R[1]交换,....,第i次从R[i-1]~R[n-1]中选取最小值,与R[i-1]交换,.....,第n-1次从R[n-2]~R[n-1]中选取最小值,与R[n-2]交换,总共通过n-1次,得到一个按排序码从小到大排列的有序序列。
例如:
初始状态 [ 8 3 2 1 7 4 6 5 ] 8 -- 1
第一次 [ 1 3 2 8 7 4 6 5 ] 3 -- 2
第二次 [ 1 2 3 8 7 4 6 5 ] 3 -- 3
第三次 [ 1 2 3 8 7 4 6 5 ] 8 -- 4
第四次 [ 1 2 3 4 7 8 6 5 ] 7 -- 5
第五次 [ 1 2 3 4 5 8 6 7 ] 8 -- 6
第六次 [ 1 2 3 4 5 6 8 7 ] 8 -- 7
第七次 [ 1 2 3 4 5 6 7 8 ]
排序完成
③选择排序法:在一组数据中,把最大的一个数找出来,然后按照每一次找出最大值,第二轮的时候再把除第一轮找出来的最大值外的最大值,按照这种从大到小的方法依次排列。
④插入排序法:
插入排序法的排序思想就是从数组的第二个元素开始,将数组中的每一个元素按照规则插入到已排好序的数组中以达到排序的目的.一般情况下将数组的第一个元素作为启始元素,从第二个元素开始依次插入.由于要插入到的数组是已经排好序的,所以只是要从右向左找到比插入点(下面程序中的insertNote)小(对升序而言)的第一个数组元素就插入到其后面.直到将最后一个数组元素插入到数组中,整个排序过程就算完成.