氣泡排序bubble sort -->:冒泡演算法,取list中從第乙個元素開始,與它後面的元素比較,如果比它大,就交換位置,一直重複到它能到達的位置,每次遍歷都將
剩下的元素中最大的那個放在序列的最後,如如果完成排序,則可以退出了。
輪詢次數為 list -1次,並且每輪詢一次list的數量減去1
python支援對2個數字同時進行交換: a,b=b,a 交換a,b的值
學習於:
#encoding:utf-8
#"""
@version:1.0
@author heng
@time: 6/27/2016 11:00 am
@description
氣泡排序bubble sort -->:
冒泡演算法,取list中從第乙個元素開始,與它後面的元素比較,如果比它大,就交換位置,一直重複到它能到達的位置,每次遍歷都將
剩下的元素中最大的那個放在序列的最後,如如果完成排序,則可以退出了。
輪詢次數為 list -1次,並且每輪詢一次list的數量減去1
python支援對2個數字同時進行交換: a,b=b,a 交換a,b的值
"""def
bubble_sort(list):
#定義輪詢次數
loop = len(list) - 1
while loop >0:
for i in
range(loop):
if list[i] > list[i + 1]:
list[i], list[i + 1] = list[i + 1], list[i]
loop = loop - 1list = [2, 232, 54, 3, 343, 213, 345, 24225, 23, 31]
bubble_sort(list)
list
#result##
c:\python27\python.exe c:/users/niuh/pycharmprojects/pystudy/core/algorithm/day2_sorting.py
## [2, 3, 23, 31, 54, 213, 232, 343, 345, 24225]
快速排序 day 2
問題 給定乙個長度為n的整數數列,以及乙個整數k。請用快速選擇演算法求出數列的第k小的數是多少。輸入格式 第一行包含兩個整數 n 和 k。第二行包含 n 個整數 所有整數均在1 1000000範圍內 表示整數數列。輸出格式 輸出乙個整數,表示數列的第k小數。資料範圍 1 n 1000000,1 k ...
Day2 選擇排序
參考本文對選擇排序的一些提示,在星球內記錄 及思考過程。選擇排序是一種簡單直觀的排序演算法,無論什麼資料進去都是 o n 的時間複雜度。所以用到它的時候,資料規模越小越好。唯一的好處可能就是不占用額外的記憶體空間了吧。首先在未排序序列中找到最小 大 元素,存放到排序序列的起始位置 再從剩餘未排序元素...
Day2 選擇排序
day 2 演算法題 寫出選擇排序 又找到乙個更小的值2,重新標記它為紅色 一輪比較後,找到最小值2並標記為黃色,表示就位,繼續在未排序序列中尋找最小值 錯誤出在這裡,換位置是都要帶著元素再列表中的索引的,這裡相當於用min的值替換了j位置的值 return our list 並沒有實現交換位置 l...