内部排序之归并排序

归并排序:     归并排序是分治算法的应用,自然需要三步,分、治、合;     第一步,分,把序列一分为二,第二步,治,把这两个子序列分别排序;第三步,合,然后把这两个有序的序列合并成一个有序序列。它也是一种稳定的排序!      主要是合并,其实合并也是非常简单的,类似于合并两个有序链表! void MergeArr(int low, int mid, int high) { ...
阅读(279) 评论(0)

内部排序之直接选择排序、堆排序

直接选择排序:     直接选择排序,首先在该序列中找出最小元素并记录其所在的位置ipos1,如果它不在第一个位置,那么将ipos与第一个位置的元素交换,那么,第一个元素就是最小的元素,然后从第二个位置开始,查找剩余中最小的元素并记录其位置ipos2,如果它不在第二个位置,那么将ipo2与第二个位置所在的元素交换................以此类推! 稳定性:(以例说明){8, 8, 3,...
阅读(274) 评论(0)

内部排序之插入排序、希尔排序

插入排序(insertion sort)     插入排序由N-1趟(pass)排序组成,对于P = 1趟到P = N-1趟,插入排序可以保证从位置零到位置P上的元素全部有序,有这样一个事实:1、当插入P位置(设为data)的时候,从0位置到P-1已全部有序,如果data比P-1位置上的元素大,那么直接放在P位置即可;2、当data比P-1位置的小的时候,那么继续向前比较,直至找到某个元素使得d...
阅读(336) 评论(0)
    个人资料
    • 访问:254804次
    • 积分:7043
    • 等级:
    • 排名:第3348名
    • 原创:471篇
    • 转载:19篇
    • 译文:0篇
    • 评论:16条