各种排序原理及其C语言实现.docVIP

  • 2
  • 0
  • 约7.37千字
  • 约 10页
  • 2017-01-26 发布于重庆
  • 举报
各种排序原理及其C语言实现

排序的方法,按照排序过程中结果序列生成的过程可以分为交换法、选择法和插入法。 冒泡排序: 基本思想:首先制定排序规则,例如按照数据由大到小或由小到大的顺序,然后依稀两两比较待排序的数据,若不符合排序规则,则进行交换。这样比较一遍之后,便有一个数据元素确定位置,然后依次比较下去,直到全部元素排列有序为止。 选择排序: 基本思想:首先制定排序规则(例如按照从小到大排序原则),排序过程中首先在未排序序列中找到最小值,放在排序序列起始位置,随后,逐趟从余下未排序的数值中逐次寻找最小值,直到整个序列有序为止。 插入排序: 基本思想:当插入第i个元素的时候,前面i-1个元素已经排列好了,这时只需要用第i个的关键字从最后开始与其他的进行比较,找到合适的位置,将后面的对象依次后移,然后将新的对象插入。 直接插入排序最大的优点就是具有合理性,也就是说,如果初始序列的情况较好,那么排序所需的移动比较次数就少,如果初始序列情况差,那么所需要的移动比较次数就多,因此直接插入排序适合那些基本上已经按顺序排列的序列。 Shell 排序:(缩小增量排序:diminishing increments) 基本思想:设待排序的对象序列有n个元素,首先取一个整数gapn作为间隔,将全部元素分为gap个子序列,所有距离为gap的元素属于同一个子序列,在每一个子序列中分别采用直接插入法,然后缩小gap,直到

文档评论(0)

1亿VIP精品文档

相关文档