python手寫(xiě)選擇排序方式(不用sort)
python手寫(xiě)選擇排序
函數(shù)mysort(alist)用于計(jì)算包含數(shù)字的列表的排序(包括升序和降序。不能使用python中的函數(shù)sort或sorted)。
import random def section_sort1(alist): n = len(alist) # 定義外圍循環(huán)次數(shù) for j in range(n - 1): # 定義min_index最小值的索引為j,目的找出最小值 min_index = j # cur下標(biāo)移動(dòng)的范圍,比較次數(shù)的范圍限定 for i in range(j + 1, n): # 元素比較,找出最小的值對(duì)應(yīng)的索引 if alist[i] < alist[min_index]: # 移動(dòng)到最小元素的位置 min_index = i # 保證最新的min_index不在無(wú)序隊(duì)列的首位,那么就將它和無(wú)序隊(duì)列的首位替換 if min_index != j: alist[j], alist[min_index] = alist[min_index], alist[j] def section_sort2(alist): n = len(alist) # 定義外圍循環(huán)次數(shù) for j in range(n - 1): # 定義min_index最小值的索引為j,目的找出最小值 min_index = j # cur下標(biāo)移動(dòng)的范圍,比較次數(shù)的范圍限定 for i in range(j + 1, n): # 元素比較,找出最小的值對(duì)應(yīng)的索引 if alist[i] > alist[min_index]: # 移動(dòng)到最小元素的位置 min_index = i # 保證最新的min_index不在無(wú)序隊(duì)列的首位,那么就將它和無(wú)序隊(duì)列的首位替換 if min_index != j: alist[j], alist[min_index] = alist[min_index], alist[j] n=int(input()) alist=[random.randint(0,100)for i in range(n)] print(alist) section_sort1(alist) print("排序后1:",alist) section_sort2(alist) print("排序后2:",alist)
Python不用sort對(duì)列表排序
有道面試題
L = [2,3,5,4,9,6,8,7,1],從小到大排序,不許用sort,輸出[1,2,3,4,5,6,7,8,9]
如果用sort很簡(jiǎn)單,如果不用sort的話,處理起來(lái)就麻煩些
處理思路大致
創(chuàng)建一個(gè)空列表,遍歷原先列表,找出最小值,放到空列表中,原列表彈出該值,直到無(wú)值。
有了上面的思路,就好處理了:
>>> L = [2,3,5,4,9,6,8,7,1] >>> T = [] >>> while len(L) > 0: ... m = min(L) ... L.remove(m) ... T.append(m) >>> T [1, 2, 3, 4, 5, 6, 7, 8, 9]
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
在Python中關(guān)于中文編碼問(wèn)題的處理建議
這篇文章主要介紹了幾種在Python中關(guān)于中文編碼問(wèn)題的處理方法,包括在使用Unicode編碼時(shí)碰到的異常等,需要的朋友可以參考下2015-04-04Python實(shí)現(xiàn)的爬取豆瓣電影信息功能案例
這篇文章主要介紹了Python實(shí)現(xiàn)的爬取豆瓣電影信息功能,結(jié)合具體實(shí)例形式分析了Python基于requests庫(kù)的爬蟲(chóng)使用技巧,需要的朋友可以參考下2019-09-0910個(gè)必須要掌握的Python內(nèi)置函數(shù)
Python?解釋器自帶的函數(shù)叫做?內(nèi)置函數(shù),這些函數(shù)不需要import?導(dǎo)入就可以直接使用。本文小編為大家總結(jié)了十個(gè)必須要掌握的Python內(nèi)置函數(shù),實(shí)用且高效,需要的可以參考一下2022-02-02python實(shí)現(xiàn)linux下使用xcopy的方法
這篇文章主要介紹了python實(shí)現(xiàn)linux下使用xcopy的方法,可實(shí)現(xiàn)模仿windows下的xcopy命令功能,需要的朋友可以參考下2015-06-06