Python 多種方式的列表排序

2021-10-23 03:57:52 字數 1771 閱讀 4678

一、列表排序

1、sort排序

ls=[2,8,9,0,5,-7,-3,1]

ls.sort()

print(ls)

二、氣泡排序

for j in range(len(ls)):

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

if ls[i]>ls[i+1]:

num=ls[i+1]

ls[i+1]=ls[i]

ls[i]=num

print(ls)

for i in range(len(ls)):

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

if ls[j]>ls[j+1]:

num=ls[j+1]

ls[j+1]=ls[j]

ls[j]=num

print(ls)

print(ls)

nls=

while len(ls)>0:

a=min(ls)

ls.remove(a)

print(nls)

4、選擇排序

def choosesort(num):

"""選擇排序:先找到最小的數放在第一位,再找到第二小的數放在第一位,以此類推"""

for i in range(len(num)):

min=i

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

if num[min]>num[j]:

min=j

tmp=num[i]

num[i]=num[min]

num[min]=tmp

return num

print(choosesort([1,4,6,3,45,0,2,-2,9,7]))

5、快速排序

def fastsort(num):

"""快速排序:"""

xlen = len(num)

for i in range(1, xlen):

key = num[i]

j = i - 1

while j >= 0:

if num[j] > key:

num[j + 1] = num[j]

num[j] = key

j -= 1

else:

break

return num

print(fastsort([1,4,6,3,45,0,2,-2,9,7]))

6、插入排序

def insertsort(num):

"""插入排序:從第二個資料開始,與前面的資料對比,將較小的資料插入到前面"""

for i in range(1,len(num)):

j=i-1

while j>=0:

if num[j]>num[j+1]:

tmp=num[j]

num[j]=num[j+1]

num[j+1]=tmp

else:

break

j-=1

return num

print(insertsort([1,4,6,3,45,2,-2,9,7,0]))

HTML 多種方式使用列表

在ol標籤中使用start屬性,設定起始的序號 在li標籤中使用value屬性,改變列表內的編號順序 例 編號第乙個從10開始,第四個重20開始 start 10 c 程式設計 資訊系統開發與管理 資料結構導論 value 20 演算法設計 軟體工程 ol 在ol標籤中使用type屬性,便可指定編號...

Python 2 7 多種方式刪除列表元素

1.pop 括號中不加引數表示刪除列表最後乙個元素,也可以加下標引數刪除 players charles martina michael florence eli players.pop print players執行結果如下 charles martina michael florence 2.r...

多種排序方式 待補充

以 3,2,1,5,4 為例 框住的兩個數就是被比較的兩個數,小數要在左邊,大數要到右邊去。1 3,2 1,5,4 因為 3 2,所以 2 移動到 3 的左邊 2 2,3,1 5,4 因為 3 1,所以 1 移動到 3 的左邊 3 2,1,3,5 4 因為 3 5,所以不需要移動 4 2,1,3,5...