四種方法如下:
氣泡排序
選擇排序
插入排序
快速排序
內建函式排序
#for i in range(7,-1,-1):#左閉右開區間,每次減一
# print(i)
'''各種排序方法進行比較'''
defshowdata
(data)
:for i in
range
(len
(data)):
print
("%.2f"
%data[i]
,end=
' ')
#選擇排序法,將每乙個數都和它後面的數進行比較,將最小的數交換到最後的位置
#依次找出最小、第二小。。。。的值
defsort_select
(data)
: length=
len(data)-1
print
("原始資料為:"
) showdata(data)
for i in
range
(length)
:for j in
range
(length-i)
:if data[j]
: data[j]
,data[j+1]
=data[j+1]
,data[j]
print()
print
("第{}次排序的結果為:"
.format
(int
(i+1))
,end=
' ')
showdata(data)
#氣泡排序法,將第乙個數和後面的所有資料進行比較,若是後乙個數大於前乙個數,就交換位
#選擇排序和氣泡排序是同乙個原理
defsort_bubble
(data)
: length=
len(data)-1
print
("原始資料為:"
) showdata(data)
for i in
range
(length)
:for j in
range
(length)
:if data[j]
: data[j]
,data[j+1]
=data[j+1]
,data[j]
print()
print
("第{}次排序的結果為:"
.format
(int
(i+1))
,end=
' ')
showdata(data)
#插入排序法,將資料分別取出來,依次放至乙個新的陣列中
defsort_insert
(data)
: length=
len(data)-1
print
("原始資料為:"
) showdata(data)
for i in
range(1
,length+1)
:#取出資料,存在temp中
temp=data[i]
no=i-
1#將temp分別和data(0,i)裡的資料分別進行比較,並將比較小的數字向後移
while no>=
0and temp>data[no]
: data[no+1]
=data[no]
no-=
1
data[no+1]
=temp
print()
print
("第{}次排序的結果為:"
.format
(int
(i+1))
,end=
' ')
showdata(data)
#快速排序法,我剛開始也想用平均數作為中間對比的值,
#但是要排序的數字比較多的時候就會報遞迴程度較深的錯誤
#所以就選了第乙個作為用於比對的數
defquick_sort
(data)
: left_list =
right_list =
length =
len(data)
if length==0:
return data
else
:for i in
range(1
,length)
:if data[i]
> data[0]
:)else:)
return quick_sort(left_list)
+[data[0]
]+ quick_sort(right_list)
#內建函式排序,這是最簡單也是最常用的方法
defdata_sort
(data)
: data.sort(reverse=
true
)#從大到小
data.sort(
)#從小到大
showdata(data)
data=[1
,2,3
,8,9
,56,6
]#showdata(data)
#sort_select(data)
#sort_bubble(data)
sort_insert(data)
五種排序方法總結
此次介紹的是五種排序的方法 1.氣泡排序 2.選擇排序 3.快速排序 4.插入排序 5。二分查詢 1 冒泡法,即利用相鄰的兩個數之間來比較達到交換的目的 從而把最大或最小的數 移到某一邊。故而 此種方法要 進行多個趟次與比較多次。例如 n個數字,則要進行n 1趟比較。在第m趟中要進行n m次兩兩之間...
C 五種排序方法(有參考)
資料結構選擇 陣列 概要設計 定義乙個容量為一億個整數的陣列,定義變數n,用rand函式生成n個隨機數,並賦值給陣列,用clock函式計算排序所用時間。編寫排序函式和主函式。include include include using namespace std int a 100000000 n v...
8種排序其中的五種
時間久了就忘了,把以前的 拿出來整理一下 插入排序 直接插入排序 straight insertion sort 結構圖 system.out.println 初始值 obj.print a obj.insertsort a system.out.println n排序後 obj.print a p...