python中快速排序的函数_Python函数练习:冒泡算法+快速排序(二分法)

冒泡算法:

#-*- coding: UTF-8 -*-

#冒泡排序

def func(lt):

if type(lt).__name__ !='list' and type(lt).__name__ !='tuple':

return

if type(lt).__name__ == 'tuple':

return list(lt)

for i in range(1,len(lt)-1):

for j in range(1,len(lt)-i):

if lt[j] > lt[j+1]:

lt[j],lt[j+1] = lt[j+1],lt[j]

return lt

lt_01 = [2,34,5,14,7,28]

print func(lt_01)

=================================================

二分法:(通过函数递归调用实现)

def func(lt=[]):

if type(lt).__name__ !='list' and type(lt).__name__!='tuple':

return

if type(lt).__name__ =='tuple':

return list(lt)

if len(lt)<=1:

return lt

k = lt[0]

lt_l = []

lt_r = []

lt_m = []

for i in lt:

if i>k:

lt_r.append(i)

elif i

lt_l.append(i)

else:

lt_m.append(i)

lt_l=func(lt_l)

lt_r=func(lt_r)

return lt_l + lt_m + lt_r

a = [2,4,12,6,23,16,28]

print func(a)

python实现经典冒泡算法

利用for循环,完成a=[1,7,4,89,34,2]的冒泡排序 冒泡排序:小的排在前,大的排在后面

python 内置函数,匿名函数,sorted,filter,map,递归,二分法&comma;冒泡算法 eval

############################总结#################################1. lambda 匿名函数 语法——lambda 参数:返回值 __na ...

day10 python算法 冒泡算法 二分法 最快查找算法 c3算法

day10 python       1.冒泡算法         冒泡排序,把列表竖起来看,就像一个个气泡往上去(时间复杂度大) lst = [12,3,3,2424,14,3567,534,324 ...

python学习之路-6 冒泡算法、递归、反射、os&sol;sys模块详解

算法 冒泡算法 # 冒泡算法就是将需要排序的元素看作是一个个"气泡",最小的"气泡"最先浮出水面,排在最前面.从小到大依次排列. # 代码如下: li = [9 ...

Python冒泡算法和修改配置文件

先学习之前未完成的冒泡算法 li = [13,22,6,99,11] 从小到大 从第一个数字比较把大的往后移位 for m in range(4): num1 = li[m] num2 = li[m+ ...

python函数(4):递归函数及二分查找算法

人理解循环,神理解递归!  一.递归的定义 def story(): s = """ 从前有个山,山里有座庙,庙里老和尚讲故事, 讲的什么呢? ""& ...

Python系列之文件操作、冒泡算法、装饰器、及递归

文件处理 python对文件进行读写操作的方法与具体步骤,包括打开文件.读取内容.写入文件.文件中的内容定位.及关闭文件释放资源等 open().file(),这个两函数提供了初始化输入\输出(I\O ...

Python之collections序列迭代器下标式循环冒泡算法等

练习题 元素分类 有如下值集合[11,22,33,44,55,66,77,88,99]将所有大于66的数作为一个列表放在字典的key为k1的value小于等于66的为k2的value {'k1':[7 ...

查找算法:二分法查找及其python实现案例

承接上一篇:查找:顺序查找与二分法查找,将二分法更多详细的python实现解题写下笔记. 简单方法 ''' 二分法查找在列表中的用户输入值,返回index 三种情况跳出循环体: LR相邻 LR位置重合 ...

随机推荐

Node&period;js-中文分词【1】-node-segment

node-segment是基于盘古分词写的Node.js中文分词模块,鉴于盘古分词给我留下的好印象,我们在Node.js上选择了它 一.安装node-segment npm install -g se ...

javascript模块化编程(三):require&period;js用法

本文来自阮一峰 这个系列的第一部分和第二部分,介绍了Javascript模块原型和理论概念,今天介绍如何将它们用于实战. 我采用的是一个非常流行的库require.js. 一.为什么要用require ...

SQL Server null知多少?

null是什么? 不知道.我是说,他的意思就是不知道(unknown). 它和true.false组成谓词的三个逻辑值,代表“未知”.与true和false相比,null最难以令人捉摸,因为它没有明确 ...

CountdownLatchTest

import java.util.concurrent.CountDownLatch; import java.util.concurrent.ExecutorService; import java ...

Fiddler 修改返回内容 OnBeforeResponse 无效 没用

Fiddler自定义脚本可以实现很强大的内容替换,包括很有意义的——修改返回内容. 具体的方法可以参考官网:http://docs.telerik.com/fiddler/KnowledgeBase/ ...

网页地图map

关于JdbcTemplate的queryForList返回值

通过spring的jdbctemplate返回的list其实封装的是需要通过如下方法得到里面的内容的 public void getAllUsers() { List allUsers = new A ...

微信里iphone后退不刷新问题解决方案

$(function() { pushHistory(); }); function pushHistory() { window.addEventListener("popstate&qu ...

洛谷 P1495 曹冲养猪

这是一道标准的孙子定理的题,题意浅显,思路明确 然后我就交了整整16遍啊,欺负人啊,题解暴力就能过,我就TLE ..悲惨的提交记录 下面是题面 题目描述 自从曹冲搞定了大象以后,曹操就开始捉摸让儿子干 ...

Java中的缓冲流详解

缓冲流增强了读写文件的能力,比如Student.txt是一个学生的名单,每个姓名占一行.如果我们想要读取名字,那么每次必须读取一行,使用FileReader流很难完成这样的任务,因为我们不清楚一行有多 ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值