码迷,mamicode.com
首页 > 编程语言 > 详细

二分法查找,冒泡排序,递归函数

时间:2018-08-15 22:43:14      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:查找   证明   冒泡排序   lse   listdir   port   code   全栈   col   

冒泡排序

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 = 0
right = len(a) - 1
while left <= right:
    mid = (left + right) // 2  # 这里必须整除
    if lst[mid] > sum:      #对应中间索引的数 >输入的数 则右边界向左移动
        right = mid - 1
    elif lst[mid] < sum:   #对应中间索引的数 < 输入的数,证明输入的数在索引值的右边,砍
                                    #掉左边一半,左边界移动
        left = mid + 1
    else:
        print(此数在列表中)
        break
else:
    print(此数不在列表中)

递归

import os
def 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)

 

二分法查找,冒泡排序,递归函数

标签:查找   证明   冒泡排序   lse   listdir   port   code   全栈   col   

原文地址:https://www.cnblogs.com/--kai/p/9484171.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!