from __future__ import print_function
defquick_sort
(array)
:"""
快速排序:不穩定,
演算法思想:
首先在要排序的序列 a 中選取乙個中軸值,而後將序列分成兩個部分,
其中左邊的部分 b 中的元素均小於或者等於 中軸值,右邊的部分 c
的元素 均大於或者等於中軸值,而後通過遞迴呼叫快速排序的過程分別
對兩個部分進行排序,最後將兩部分產生的結果合併即可得到最後的排序
序列。examples:
>>> quick_sort([0, 5, 3, 2, 2])
[0, 2, 2, 3, 5]
>>> quick_sort()
>>> quick_sort([-2, -5, -45])
[-45, -5, -2]
"""array_length =
len(array)
if( array_length <=1)
:return array
else
:#預設把第乙個元素值當做中軸
pivot = array[0]
#找出比中軸值大的元素
greater =
[ element for element in array[1:
]if element > pivot ]
#找出比中軸值小的元素
lesser =
[ element for element in array[1:
]if element <= pivot ]
#遞迴,分別對左、右半部分進行劃分
return quick_sort(lesser)
+[pivot]
+ quick_sort(greater)
if __name__ ==
'__main__'
:try
:raw_input
# python 2
except nameerror:
raw_input
=input
# python 3
user_input =
raw_input
('enter numbers separated by a comma:\n'
).strip(
) unsorted =
[int
(item)
for item in user_input.split(
',')
]print
( quick_sort(unsorted)
)
python入門2 Python入門2
1列表和元組 列表 當索引超出了範圍時,python會報乙個indexerror錯誤 usr bin env python3 coding utf 8 列印s的1,v,9.注意 索引計數從 0 開始 s 1,2,3 a v b 7,8,9 列印1 print s 0 0 列印v print s 1 ...
2 Python內建函式
位元組陣列和位元組,3個引數 source,encoding,errors 當source引數為字串時,encoding引數也必須提供,函式將字串使用str.encode方法轉換成位元組陣列 當3個引數都不傳的時候,返回長度為0的位元組陣列 當source引數為整數時,返回這個整數所指定長度的空位元...
2 Python環境安裝
python官網 www.python.org windows版本 windows下一鍵環境安裝包,對於python2.x與python3.x,建議使用python3.x。安裝完畢後,左下角搜尋python,開啟idle python 3.7 64 bit 開啟option配置字型及大小。cento...