大学数据结构与算法常用排序算法

如题所述

数据结构常用算法排序算法

写在前面

排序本质上就是按照某种顺序将一组数排好,分多次重复进行,每次只负责把一个数字放到合适的位置上

两种思路:

①先确定一个数字,然后根据数据找合适的位置;

②先确定一个位置,根据位置找合适的数字;

冒泡排序算法

先确定位置,选最前面或者最后面,假设选择了最后面的位置,就是重复的把最大的数放到最后面代码实现

选择排序算法

只能选择最前面最后面的位置,那选择的位置向前或者向后依次与每一个数做顺序调整代码实现

插入排序算法

先确定数字,假设前面的数已经排序好,把它们和相邻的后面的那个数字作为选定数字,把选定数字向前插入到合适的位置:

快速排序算法

在数组中从头部或尾部选择一个数,然后进行排序,比如比它小的在左,比它大的在右,这个数就是枢轴,每次与枢轴进行比较进行顺序调整后的数,我们认为他们的相对位置已经固定,那么这个数就排出在外,不再处理。

排好左右,左右两边分成两部分,在各自选定一个数再次进行这样的排序,注意只能从数组的两头选数,以此类推。这可以用递归函数来实现:

温馨提示:答案为网友推荐,仅供参考
相似回答