首页 > 代码库 > 排序算法

排序算法

排序:是一串记录,按照其中的某个或者某些关键字的大小,递增或者递减地排序起来的操作。

排序的算法有很多,各种算法对空间的要求及时间效率也各有差别。

今天学习到了两个简单的排序算法——冒泡排序和插入排序。

 

冒泡排序:

  简单地说,冒泡排序就是一次比较相邻的两个数,将小的数往前放,打的数往后放(或者反过来),整个过程就像气泡网上浮一样,所以就形象地称为冒泡排序。

排序:

  第一轮:首先比较第1个数和第2个数,将小的数放在前,大的数放后;然后比较第2和第3个数,将小的数放在前,大的数放后,如此反复继续。直至比较最后两个数,将小的数放前,打的数放后;到此为止,第一轮排序结束,最大的数被放到了最后。

  第二轮:仍然第一对数开始比较将小数放前,大数放后,一直比较到倒数第二个数(倒数第一个数已经是最大的数了),第二轮结束,在倒数第二的位置上得到一个新的最大值(在整个数列中最大值是倒数第一的数)。

  按照这个规律,直至完成排序。

 

分析:通过上面的分析可以看出,我们假设需要排序的数列有n个数,在第一轮中,需要比较的次数是n-1次,第二轮需要比较的次数是n-2次......每轮减少一次。要实现冒泡排序,可以使用双重for循环实现

  实现代码如下:

技术分享

 

  运行结果输出:

技术分享

 

排序算法