1、python冒泡排序、快排
2021/8/2 9:35:46
本文主要是介绍1、python冒泡排序、快排,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
冒泡排序原理: 比较相邻的两个元素,如果顺序有误则把他们交换位置。直到最后一个是最大的。就像气泡一样,小的向上浮。
list1 = [20,15,88,97,76,13,27,49] def bubble_sort(list1): count = len(list1) for i in range(0,count): for j in range(i+1,count): if list1[i] > list1 [j]: list1[i],list1[j] = list1[j],list1[i] return list1 aaa = bubble_sort(list1) print(aaa) [13, 15, 20, 27, 49, 76, 88, 97]
快速排序(快排)的原理:
1、在数列之中,选择第一个元素作为”基准”。
2、数列中所有元素都和这个基准值进行比较,如果比基准值小就移到基准值的左边,如果比基准值大就移到基准值的右边
3、以基准值左右两边的子列作为新数列,不断重复第一步和第二步,递归完成时,就是排序结束时。
递归:不断重复这个循环,就是递归。哪个循环?(从一个地方出发,回到了出发的地方)
递归例子:
从前有一座山,山里有一座庙,庙里有一个老和尚和一个小和尚,他们在说故事,故事是啥?
从前有一座山,山里有一座庙,庙里有一个老和尚和一个小和尚,他们在说故事,故事是啥?
从前有一座山,山里有一座庙,庙里有一个老和尚和一个小和尚,他们在说故事,故事是啥?
list1 = [20,15,88,97,76,13,27,49] def quict_sort(list1): if list1 == []: return [] else: first = list1[0] less = quict_sort([l for l in list1[1:] if l < first]) morr = quict_sort([m for m in list1[1:] if m >= first]) return less + [first] + morr aaa = quict_sort(list1) print(aaa) [13, 15, 20, 27, 49, 76, 88, 97]
这篇关于1、python冒泡排序、快排的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享