Java教程

学习小结----排序

本文主要是介绍学习小结----排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

排序即对一序列对象根据某个关键字进行排序

在c语言中排序是较为重要的一个部分

通过上周课程,我学习了两种经典的排序方法:1.选择排序法 2.冒泡排序法

1.选择排序法

思路:每次从排序列中按一定顺序检索序列,从中选出一个最小值,将其放在起始位置,以此类推,直到所有序列按一定顺序排列完全。

代码如下:

大致过程如图:

 运行结果:

 

 

选择排序法是表现最稳定的排序算法之一,因为无论什么数据进去都是O(n^2)的时间复杂度,所以选择排序法适用于规模较小的序列排序。

选择排序法也是较为简单易理解的排序法,这也是它的优点之一。

关于选择排序的算法分析:

 

 

 

 2.冒泡排序法

思路:从左到右,相邻元素进行比较。每次选出一个较大或者较小的数,通过交换位置将其放在左边或者右边。以此类推,最小的数或者最大的数就会从最左端冒出,就像冒泡一样。

以从小到大排序为例,第一轮比较过后最小的数就会出现在数列的最左边,第二轮比较后第二小的数就会出现在数列的第二位..........

就这样一轮一轮的下去,最后实现从小到大的排序。

冒泡排序法的代码:

 

运行结果如下:

 

 

 关于冒泡排序法的算法分析:

 

这篇关于学习小结----排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!