排序方法总结
插入排序
1、直接插入排序
排序思想:将一个记录插入到已经排好序的有序表中,从而得到一个新的记录增一的有序表
示例:
c#代码:
2、希尔插入排序
排序思想:先将原序列分为若干子序列,再对这些子序列进行直接插入排序,待整个序列基本有序时,进行最后一次直接插入排序
示例:
c#代码:
选择排序
1、直接选择排序
排序思想:在待排序列中,找一个最小的与第一个元素交换;之后再从剩下的序列中找到一个最小的与第二个元素交换,依次次递推。直到第n-1个元素和第n个元素比较为止。
c#代码:
2、堆排序(以大根堆为例)
排序思想:构建好大根堆后,输出堆顶元素,再对剩下的n-1个元素重新构建大根堆,其堆顶元素即为序列的次大值;反复操作,即得到一个有序序列
示例:
c#代码:
交换排序:
1、冒泡排序:
排序思想:通过相邻记录间的比较和交换,使关键字较小的记录像气泡 一样逐渐冒出水面(找到未排子序列里的最小值,与直接选择排序不同的是,我们这里是通过交换其下标,直接选择排序是通过循环找到其中的最小值 )
示例:
c#代码:
2、快速排序法:
快速排序法思想:
这是一篇很好的链接