简单排序方法之冒泡排序,选择排序,插入排序

一、冒泡排序
1、排序思想:每次相邻的两个数据进行比较,如果不符合排序规则,则两个数进行交换,如果符合,则不交换,第一趟比较完毕,会出现最大或最小的数据在相应位置,依次类推,假设有n个待排列的数据,需要排列n-1趟。
例如:对一组数据32,34,18,14,86,45,69,20进行升序冒泡排序。
数据初始状态 32,34,18,14,86,45,69,20
第一趟排序结果 32,18,14,34,45,69,20,86
第二趟排序结果 18,14,32,34,45,20,69,86
第三趟排序结果 14,18,32,34,20,45,69,86
第四趟排序结果 14,18,20,32,34,45,69,86
第五趟排序结果 14,18,20,32,34,45,69,86
第六趟排序结果 14,18,20,32,34,45,69,86
第七趟排序结果 14,18,20,32,34,45,69,86
2、算法实现:
在这里插入图片描述在这里插入图片描述
二、简单选择排序
1、排序思想:设所排序序列的记录个数为n。i取1,2,…,n-1,从所有n-i+1个记录(Ri,Ri+1,…,Rn)中找出排序码最小的记录,与第i个记录交换。执行n-1趟 后就完成了记录序列的排序。
例如:对一组数据32,34,18,14,86,45,69,20进行升序选择排序。
数据初始状态 32,34,18,14,86,45,69,20
第一趟排序结果 14,32,34,18,86,45,69,20
第二趟排序结果 14,18,32,34,86,45,69,20
第三趟排序结果 14,18,20,32,34,86,45,69
第四趟排序结果 14,18,20,32,34,86,45,69
第五趟排序结果 14,18,20,32,34,86,45,69
第六趟排序结果 14,18,20,32,34,45,86,69
第七趟排序结果 14,18,20,32,34,45,69,86
2、算法实现:
在这里插入图片描述在这里插入图片描述
三、直接插入排序
1、排序思想:在一个已经排好序的记录子集的基础上,每一步将下一个带排序的记录有序地插入到已排好序的
记录子集中,直到将所有的待拍序列全部插入为止。
例如:对一组数据32,34,18,14,86,45,69,20进行升序直接插入排序。
数据初始状态 32,34,18,14,86,45,69,20
第一趟排序结果 32,34,18,14,86,45,69,20
第二趟排序结果 18,32,34,14,86,45,69,20
第三趟排序结果 14,18,32,34,86,45,69,20
第四趟排序结果 14,18,32,34,86,45,69,20
第五趟排序结果 14,18,32,34,45,86,69,20
第六趟排序结果 14,18,32,34,45,69,86,20
第七趟排序结果 14,18,20,32,34,45,69,86
2、算法实现:
在这里插入图片描述
在这里插入图片描述
Ps:在三种排序方法中,冒泡排序算法效率最低,插入排序算法效率最高。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章