博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
二分法查找,冒泡排序,递归函数
阅读量:4322 次
发布时间:2019-06-06

本文共 1167 字,大约阅读时间需要 3 分钟。

冒泡排序

def fnc(nums):    for i in range(len(nums) - 1):    # 这个循环负责设置冒泡排序进行的次数                for k in range(len(nums) - i - 1):  # k 为列表下标                                   if nums[k] > nums[k + 1]:                    nums[k], nums[k + 1] = nums[k + 1], nums[k]    return nums

 

二分法与冒泡配合

lst =[12,35,32,1323,89,46,23,13,56,23,51,2,1,13,464,91,68,41,5,94,54,21,212,54]a = fnc(lst)  #调用上述冒泡函数 排序sum = int(input('请输入一个数:'))left = 0right = len(a) - 1while left <= right:    mid = (left + right) // 2  # 这里必须整除    if lst[mid] > sum:      #对应中间索引的数 >输入的数 则右边界向左移动        right = mid - 1    elif lst[mid] < sum:   #对应中间索引的数 < 输入的数,证明输入的数在索引值的右边,砍                                    #掉左边一半,左边界移动        left = mid + 1    else:        print('此数在列表中')        breakelse:    print('此数不在列表中')

递归

import osdef fnc(files_path,n):    files = os.listdir(files_path)    for file in files:  #打开文件        f_d = os.path.join('E:\python全栈15期', file) # 拿到路径        if os.path.isdir(f_d):     #判断是否是文件夹            print('\t' * n ,file,':')            fnc(f_d,n + 1)      #如果是文件夹再调用一次函数,不过实参就变成了判断的文件夹        else:            print('\t' * n,file)

 

转载于:https://www.cnblogs.com/--kai/p/9484171.html

你可能感兴趣的文章
Array.of使用实例
查看>>
【Luogu】P2498拯救小云公主(spfa)
查看>>
如何获取网站icon
查看>>
几种排序写法
查看>>
java 多线程的应用场景
查看>>
dell support
查看>>
转:Maven项目编译后classes文件中没有dao的xml文件以及没有resources中的配置文件的问题解决...
查看>>
MTK android 设置里 "关于手机" 信息参数修改
查看>>
单变量微积分笔记6——线性近似和二阶近似
查看>>
补几天前的读书笔记
查看>>
HDU 1829/POJ 2492 A Bug's Life
查看>>
CKplayer:视频推荐和分享插件设置
查看>>
CentOS系统将UTC时间修改为CST时间
查看>>
redis常见面试题
查看>>
导航控制器的出栈
查看>>
玩转CSS3,嗨翻WEB前端,CSS3伪类元素详解/深入浅出[原创][5+3时代]
查看>>
iOS 9音频应用播放音频之播放控制暂停停止前进后退的设置
查看>>
Delphi消息小记
查看>>
HNOI2016
查看>>
JVM介绍
查看>>