Python3實現順序查詢 氣泡排序 選擇排序

2021-09-24 05:57:51 字數 1466 閱讀 4265

順序查詢:

# coding=utf-8

#氣泡排序演算法的原理如下:

#比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。

#對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。

#針對所有的元素重複以上的步驟,除了最後乙個。

#持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。

def bubble_sort(get_list):

for i in range(len(get_list) - 1):

for j in range(len(get_list) - 1 -i):

if get_list[j] >= get_list[j + 1]:

get_list[j],get_list[j + 1] = get_list[j + 1],get_list[j]

print(get_list)

bubble_sort([12, 23, 42, 59, 87, 69, 77])

氣泡排序:

# 基本原理:

# 對於任意乙個序列以及乙個給定元素,將給定元素與序列中元素依次比較,直到找出與給定關鍵字相同的數為止

import random

p = 10

k = 5

flag = 0

pos = -1

list = random.sample(range(p),k)

goal = random.randint(0,p)

print("search",goal,"in list:",list)

for i in range(len(list)):

if list[i] == goal:

pos = i

print("found it at:",pos)

break

else:

print("not found.")

break

選擇排序:

#首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,

#再從剩餘未排序元素中繼續尋找最小(大)元素,然後放到已排序序列的末尾。

#以此類推,直到所有元素均排序完畢。

def search_sort(lista):

for i in range(len(lista)-1):

index = i

for j in range(i+1,len(lista)):

if lista[index] > lista[j]:

index = j

lista[index],lista[j] = lista[j],lista[index]

return lista

print(search_sort([3, 7, 85, 89, 56, 5, 12]))

氣泡排序 python3 實現

比較相鄰的元素。如果第乙個比第二個大,就交換他們兩個。對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最後一對。在這一點,最後的元素應該會是最大的數。1 針對所有的元素重複以上的步驟,除了最後乙個。持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。個人補充 每完成一次氣泡排序就...

Python3簡單實現氣泡排序

話不多說,直接上 coding utf 8 class bubblesort object resultstr def init self,datas self.datas datas self.datas len len datas def sort self for i in range sel...

Python3 氣泡排序

參考 菜鳥教程 氣泡排序 bubble sort 重複地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。一輪一輪,直到無需再交換。例 小朋友按身高排序,兩兩比較,矮個子站前面 a 0.9m b 0.8m c 1.1m d 0.75m e 1.24m a b c d e b ...