陣列排序 python

2021-09-25 17:22:00 字數 1414 閱讀 2437

本關挑戰任務是對乙個陣列進行排序,排序需要遵守一些規則:

先對陣列從左到右,相鄰元素進行比較,如果第乙個比第二個大,就交換它們,進行乙個公升序排序;

再對陣列從右到左,相鄰元素進行比較,如果第乙個比第二個小,就交換它們,進行乙個降序排序;

以此類推,持續的、依次的改變排序的方向,並不斷縮小沒有排序的陣列範圍;

按照這種規則依次給整個陣列排序,並將排序過程列印到控制台。

比如給出一組資料4,1,3,5,2,排序過程如下:

最後得到結果:1 2 3 4 5

class

task

:def

sort

(self, xlist)

:# ********* begin *********#

ifsorted

(xlist)

== xlist:

xlist1 =

list

(map

(str

, xlist)

)print

(' '

.join(xlist1)

)else

:for i in

range

(int

(len

(xlist)/2

)):for i in

range

(len

(xlist)-1

):if xlist[i]

> xlist[i +1]

: xlist[i]

,xlist[i+1]

= xlist[i+1]

,xlist[i]

xlist1 =

list

(map

(str

, xlist)

)print

(' '

.join(xlist1)

)for i in

range

(len

(xlist)-1

,0,-

1):if xlist[i]

< xlist[i-1]

: xlist[i]

, xlist[i-1]

= xlist[i-1]

, xlist[i]

xlist1 =

list

(map

(str

, xlist)

)print

(' '

.join(xlist1)

)# ********* end *********#

思路:

python 陣列排序

python對容器內資料的排序有兩種,一種是容器自己的sort函式,一種是內建的sorted函式。sort函式和sorted函式唯一的不同是,sort是在容器內排序,sorted生成乙個新的排好序的容器 1 陣列排序 l 5,2,3,1,4 sort l.sort 公升序,l.reverse 降序 ...

python 陣列排序

單個陣列的排序很簡單,直接用sort就能完成,如一下ipython in 39 array 4,2,5,1,3 in 40 array.sort in 41 array out 41 1,2,3,4,5 多維陣列的排序如直接用sort講會按第一維的資料進行排序,如 in 42 array b 4 e...

Python 陣列排序

argsort函式返回的是陣列值從小到大的索引值 公升序排列 一維 in 1 import numpy as np in 2 x np.array 1,3,2,5,4 in 3 np.argsort x out 3 array 0,2,1,4,3 in 4 x np.argsort x out 4 ...