- import random
- num_list = []
- for x in range(30):
- num_list.append(random.randint(1, 500))
- list_len = len(num_list)
- print(list_len)
- def quick_sort(array, begin, end):
- # (1) 104, 17, 510,30,100 这是用来说明的例子,请按前面的序号阅读
- # i j
- if begin < end:
- i, j = begin, end
- # 设置临时基准
- temp = array[i]
- # --------------------------------------------
- while i < j:
- # 如果列表后边的数,比基准数大或相等,j则前移一位,直到出现第一个比基准数小的数
- while (i < j) and (array[j] >= temp):
- j = j - 1
- # 找到后把第j个元素赋值给第i个元素
- array[i] = array[j] # (2)100,17,510,30,100 (4)100, 17, 30, 30, 510
- # i j i j <-- j
- # 若前边的数比基准数小或相等,i则后移一位,直到出现第一个比基准数大的数
- while (i < j) and (array[i] <= temp):
- i = i + 1
- array[j] = array[i] # (3)100,17,510, 30,510 (5) 00,17,30, 30, 510
- # i --> i j i-->ij
- # ---------------------------------------------
- # 做完第一轮while比较之后,list被分成了两个list,且i=j
- array[i] = temp # (6)100,17,30,104,510 这是第一轮结束之后的情况.
- # ij
- # 此时,以第一轮选择的temp为分割点,分成两个list.左边list里的项都比temp小,右边list里的项都比temp大
- # 递归前后半区
- quick_sort(array, begin, i - 1)
- quick_sort(array, j + 1, end)
- return array
- print("The sorted result is : ")
- quick_sort(num_list, 0, len(num_list)-1)
- print(num_list)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何在 Java 中轻松创建多线程?(如何在Java中创建多线程)
- Java 中 String 转 Long 对新手友好吗?(java string转long对新手友好吗 )
- 如何在 Java 窗口中添加文本框?(java怎么在窗口中加入文本框)
- 在 Java 中,package 究竟该如何使用呢?(java中package如何使用)
- 如何通过 JavaScript 异步编程有效避免回调地狱?(JavaScript异步编程如何避免回调地狱)
- 在 JavaScript 中,split 方法究竟该如何使用?(split方法在javascript中怎么用)
- 如何解决 java log4j2 的安全漏洞?(java log4j2安全漏洞解决方案)
- 如何在 Java 中对幂函数的性能进行优化?(如何在Java中优化幂函数的性能)
- 如何编写 Java 获取文件行数的代码?(Java获取文件行数的代码怎么写)
- Java 中 == 和 equals 的区别究竟有哪些?(java中==和equals的区别是什么)
猜你喜欢
AI推送时光机快速排序python实现
后端开发2023-01-31
python实现快速排序
后端开发2023-01-31
python 快速排序实现
后端开发2023-06-02
Python如何实现快速排序
后端开发2023-06-04
python中怎样实现快速排序
后端开发2023-06-04
快速排序的四种python实现
后端开发2023-01-31
用Python怎么实现快速排序
后端开发2023-12-18
使用 Python 实现快速排序算法
后端开发2023-09-02
python 三行代码实现快速排序
后端开发2023-01-31
python快速排序算法怎么实现
后端开发2023-08-15
快速排序的算法思想及Python版快速排序的实现示例
后端开发2022-06-04
Python实现快速排序算法及去重的快速排序的简单示例
后端开发2022-06-04
Python3实现快速排序、归并排序、堆
后端开发2023-01-31
Python中怎么实现快速排序算法
后端开发2023-06-02
golang归并排序,快速排序,堆排序的实现
后端开发2024-04-02
C#实现快速排序算法
后端开发2024-04-02
web如何实现快速排序
后端开发2023-06-27
php怎么实现快速排序
后端开发2024-03-15
python实现快速排序的方法是什么
后端开发2023-08-18
咦!没有更多了?去看看其它编程学习网 内容吧