C语言面试笔试整理笔记(三)

    这篇主要记录一下排序方法,并侧重介绍排序的思路,具体程序笔试前练习一下。

    常见的排序方法有:冒泡排序选择排序插入排序归并排序快速排序

  • 冒泡排序思路:依次比较相邻的两个数,将小数放前,大数放后。第一趟就会将最大数放到最后,第二趟会将第二大数放在倒数第二的位置,依此类推,实现有序化。
  • 选择排序思路:每一趟从待排序的数据元素中选出最小(或最大)的一个元素,顺序放在已排好的数列的最后,直到全部待排序的数据元素排完,选择排序是不稳定的排序方法。
  • 插入排序思路:将无序数列通过二分法插入到有序数列中,从有序数列最后一个开始比较,直到比较到大于等于前面一个元素,小于后面一个元素的位置并插入,使N有序数列变为(N+1)的有序数列,直到说有元素都插入完毕。
  • 归并排序思路:将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的。然后再把有序子序列合并为整体有序序列。
  • 快速排序思路:是对冒泡排序的改进,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对两部分数据分别进行快速排序。
posted @ 2012-10-08 14:37  Second Life  阅读(251)  评论(0编辑  收藏  举报