本關挑戰任務是對乙個陣列進行排序,排序需要遵守一些規則:
先對陣列從左到右,相鄰元素進行比較,如果第乙個比第二個大,就交換它們,進行乙個公升序排序;
再對陣列從右到左,相鄰元素進行比較,如果第乙個比第二個小,就交換它們,進行乙個降序排序;
以此類推,持續的、依次的改變排序的方向,並不斷縮小沒有排序的陣列範圍;
按照這種規則依次給整個陣列排序,並將排序過程列印到控制台。
比如給出一組資料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 ...