Code前端首页关于Code前端联系我们

快速排序算法,C语言代码实例详解

terry 2年前 (2023-09-27) 阅读数 79 #数据结构与算法

1.复杂度和稳定性

时间复杂度算法

最坏情况:O(n^2)

最好情况:O(nlogn)

平均情况:O(nlogn)

稳定性:不稳定排序

2。流程介绍

快速排序是研究得最多的排序,无论是大学职业课程的期末考试。快速排序广泛应用于公司面试问题中。在实际中,快速排序也被广泛使用。例如,STL中的底层排序层是快速排序。

先在阵列中选择一个参考点,然后从阵列两端扫描阵列,放置两个指示标记(low点到起始位置,高点到结束位置),先从后半部分开始,如果找到了一个元素。如果数值小于参考点,则交换low和高位数值,然后从上半场开始扫描。如果某个元素结果大于参考点的值,则交换low和高位的值,以此类推,直到low >= high,然后将参考点的值设置为高位。一次排序就完成了。

以后前半部分和后半部分将递归排序。当前半部分和后半部分都有序时,数组自然就有序了。? 第三次旅程

4050302010607070第四次旅程1020304050607070第五次旅程1020304050607070

4.相关代码

1234567891011121314151617181920212223242526272829303132333435363738394041#includeusing 命名空间 std ; voidqucik_sort(inta[],intlow,int 高) { int i,j ,温度; i=low; j=高; if(lowi &&a[j] ]>=温度) { --j; } if(i 6050302010407070
}       同时 ( i

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

热门