順序查詢:
# 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 ...