python快速排序代碼實例
一、 算法描述:
1.先從數(shù)列中取出一個數(shù)作為基準數(shù)。
2.分區(qū)過程,將比這個數(shù)大的數(shù)全放到它的右邊,小于或等于它的數(shù)全放到它的左邊。
3.再對左右區(qū)間重復第二步,直到各區(qū)間只有一個數(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
結果:
[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實現(xiàn)的數(shù)據(jù)結構與算法之快速排序詳解
- Python實現(xiàn)快速排序算法及去重的快速排序的簡單示例
- Python實現(xiàn)快速排序和插入排序算法及自定義排序的示例
- 快速排序的四種python實現(xiàn)(推薦)
- 快速排序的算法思想及Python版快速排序的實現(xiàn)示例
- python實現(xiàn)快速排序的示例(二分法思想)
- javascript與Python快速排序?qū)嵗龑Ρ?/a>
- python 二分查找和快速排序?qū)嵗斀?/a>
- Python編程二分法實現(xiàn)冒泡算法+快速排序代碼示例
- Python實現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法示例
- Python一行代碼實現(xiàn)快速排序的方法
- Python實現(xiàn)快速排序的方法詳解
相關文章
Python基于plotly模塊實現(xiàn)的畫圖操作示例
這篇文章主要介紹了Python基于plotly模塊實現(xiàn)的畫圖操作,涉及Python基于plotly模塊的數(shù)值運算與圖形操作相關實現(xiàn)技巧,需要的朋友可以參考下2019-01-01Python3.5基礎之函數(shù)的定義與使用實例詳解【參數(shù)、作用域、遞歸、重載等】
這篇文章主要介紹了Python3.5基礎之函數(shù)的定義與使用,結合實例形式詳細分析了Python3.5函數(shù)的定義、參數(shù)、作用域、遞歸、重載、內(nèi)置函數(shù)等基本概念與相關使用技巧,需要的朋友可以參考下2019-04-04Python使用ChainMap實現(xiàn)組合數(shù)據(jù)魔法實例探究
這篇文章主要為大家介紹了Python使用ChainMap實現(xiàn)組合數(shù)據(jù)魔法實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2024-01-01