python快速排序代碼實(shí)例
一、 算法描述:
1.先從數(shù)列中取出一個(gè)數(shù)作為基準(zhǔn)數(shù)。
2.分區(qū)過(guò)程,將比這個(gè)數(shù)大的數(shù)全放到它的右邊,小于或等于它的數(shù)全放到它的左邊。
3.再對(duì)左右區(qū)間重復(fù)第二步,直到各區(qū)間只有一個(gè)數(shù)。
二、python快速排序代碼
#!/usr/bin/python
# -*- coding: utf-8 -*-
def sub_sort(array,low,high):
key = array[low]
while low < high:
while low < high and array[high] >= key:
high -= 1
while low < high and array[high] < key:
array[low] = array[high]
low += 1
array[high] = array[low]
array[low] = key
return low
def quick_sort(array,low,high):
if low < high:
key_index = sub_sort(array,low,high)
quick_sort(array,low,key_index)
quick_sort(array,key_index+1,high)
if __name__ == '__main__':
array = [8,10,9,6,4,16,5,13,26,18,2,45,34,23,1,7,3]
print array
quick_sort(array,0,len(array)-1)
print array
結(jié)果:
[8, 10, 9, 6, 4, 16, 5, 13, 26, 18, 2, 45, 34, 23, 1, 7, 3]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 16, 18, 23, 26, 34, 45]
- Python實(shí)現(xiàn)的數(shù)據(jù)結(jié)構(gòu)與算法之快速排序詳解
- Python實(shí)現(xiàn)快速排序算法及去重的快速排序的簡(jiǎn)單示例
- Python實(shí)現(xiàn)快速排序和插入排序算法及自定義排序的示例
- 快速排序的四種python實(shí)現(xiàn)(推薦)
- 快速排序的算法思想及Python版快速排序的實(shí)現(xiàn)示例
- python實(shí)現(xiàn)快速排序的示例(二分法思想)
- javascript與Python快速排序?qū)嵗龑?duì)比
- python 二分查找和快速排序?qū)嵗斀?/a>
- Python編程二分法實(shí)現(xiàn)冒泡算法+快速排序代碼示例
- Python實(shí)現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法示例
- Python一行代碼實(shí)現(xiàn)快速排序的方法
- Python實(shí)現(xiàn)快速排序的方法詳解
相關(guān)文章
Pycharm中python調(diào)用另一個(gè)文件類或者函數(shù)
本文主要介紹了Pycharm中python調(diào)用另一個(gè)文件類或者函數(shù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
python之Flask實(shí)現(xiàn)簡(jiǎn)單登錄功能的示例代碼
這篇文章主要介紹了python之Flask實(shí)現(xiàn)簡(jiǎn)單登錄功能的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12
python實(shí)現(xiàn)21點(diǎn)小游戲
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)21點(diǎn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-04-04
Python 簡(jiǎn)單計(jì)算要求形狀面積的實(shí)例
今天小編就為大家分享一篇Python 簡(jiǎn)單計(jì)算要求形狀面積的實(shí)例,具有很好的參考價(jià)值2020-01-01
分享一個(gè)pycharm專業(yè)版安裝的永久使用方法
這篇文章主要介紹了分享一個(gè)pycharm專業(yè)版安裝的永久使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
django-allauth入門學(xué)習(xí)和使用詳解
這篇文章主要介紹了django-allauth入門學(xué)習(xí)和使用詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07
Python轉(zhuǎn)json時(shí)出現(xiàn)中文亂碼的問(wèn)題及解決
這篇文章主要介紹了Python轉(zhuǎn)json時(shí)出現(xiàn)中文亂碼的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02
Python Pandas中的shift()函數(shù)實(shí)現(xiàn)數(shù)據(jù)完美平移應(yīng)用場(chǎng)景探究
shift()?是 Pandas 中一個(gè)常用的數(shù)據(jù)處理函數(shù),它用于對(duì)數(shù)據(jù)進(jìn)行移動(dòng)或偏移操作,常用于時(shí)間序列數(shù)據(jù)或需要計(jì)算前后差值的情況,本文將詳細(xì)介紹?shift()?函數(shù)的用法,包括語(yǔ)法、參數(shù)、示例以及常見(jiàn)應(yīng)用場(chǎng)景2024-01-01

