1. 程式人生 > >二分法查找,冒泡排序,遞歸函數

二分法查找,冒泡排序,遞歸函數

pat os.path 一個 移動 pre pytho spa input int

冒泡排序

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)

二分法查找,冒泡排序,遞歸函數