屌丝的常用排序-----one

  1. 云栖社区>
  2. 博客>
  3. 正文

屌丝的常用排序-----one

技术小胖子 2017-10-30 18:47:00 浏览497
展开阅读全文

排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。

我们这里说说八大排序就是内部排序。

wKioL1cBsTWAB2j-AAEeGkSMR7w198.jpg

1、交换排序---->冒泡排序

   冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。

 冒泡排序算法的运作如下:(从后往前)

 1.比较相邻的元素。如果第一个比第二个大,就交换他们两个。

 2.对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。

 3.针对所有的元素重复以上的步骤,除了最后一个。

 4.持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。



    wKiom1cBsUHSc_nTAABqBYc8PtM466.png

代码实现(C语言)

wKioL1cBs1qTM2wkAAA1h9goCrQ159.png


2、交换排序---->快速排序

   快速排序(Quicksort)是对冒泡排序的一种改进。

快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

wKiom1cBszvhH-RrAACrNmeAgoY717.jpg

代码实现(C语言)

wKioL1cBtC7xqNAwAABSgoP3kqg838.png





      本文转自asd1123509133 51CTO博客,原文链接:http://blog.51cto.com/lisea/1760024,如需转载请自行联系原作者





网友评论

登录后评论
0/500
评论
技术小胖子
+ 关注