婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python實現排序方法常見的四種

Python實現排序方法常見的四種

熱門標簽:上海正規的外呼系統最新報價 預覽式外呼系統 長春極信防封電銷卡批發 如何地圖標注公司 電銷機器人錄音要學習什么 銀川電話機器人電話 煙臺電話外呼營銷系統 外賣地址有什么地圖標注 企業彩鈴地圖標注

1.冒泡排序,相鄰位置比較大小,將比較大的(或小的)交換位置

def maopao(a):
    for i in range(0,len(a)):
        for j in range(0,len(a)-i-1):
            if a[j]>a[j+1]:
                temp = a[j+1]
                a[j+1] = a[j]
                a[j] = temp
                #print(a)
        #print(a)
    print(a)

2.選擇排序,遍歷選擇一個最小的數與當前循環的第一個數交換

def xuanze(a):
    for i in range(0,len(a)):
        k=i
        temp = a[i]
        for j in range(i,len(a)):
            if a[j]temp:
                temp = a[j]
                k = j
        a[k] = a[i]
        a[i] = temp
    print(a)

3.快速排序:將子段的第一個元素做為中值,先從右向左遍歷,如過比中值大high-1,如果比中值小,將這個值放到low那里。

然后從左向右開始遍歷,如果左側的比中值大,將他放到high那里。當low>=high時,將中值的值賦給low

(1.以下為參照公眾號中的做法:

a =[7,1,3,2,6,54,4,4,5,8,12,34]
def sort(a,low,high): 
    while low  high:
        temp = a[low]
        while low  high and a[high]>=temp:
            high = high-1
        a[low]=a[high]
        while lowhigh and a[low]temp:
            low = low+1
        a[high]=a[low]           
        a[low]=temp
    return low
def quicksort(a,low,high):
    if lowhigh:
        middle = sort(a,low,high)
        quicksort(a,low,middle)
        quicksort(a,middle+1,high)
        print(a)
sort(a,0,len(a)-1)
quicksort(a,0,len(a)-1)
print(a)

(2.以下是參照網上的做法:

在做快速排序時一直各種問題,是因為地柜那里沒有考慮清楚,一直把low的值賦值為0了,實際上應該是不固定的low值,他每個子循環不定。

'''
遇到問題沒人解答?小編創建了一個Python學習交流群:531509025
尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書!
'''
a =[7,1,3,2,6,54,4,4,5,8,12,34]
def sort(a,low,high): 
    while low  high:
        temp = a[low]
        while low  high and a[high]>=temp:
            high = high-1
        while lowhigh and a[high]temp:
            a[low]=a[high]           
            low =low+1
            a[high]=a[low]
        a[low]=temp
    return low
def quicksort(a,low,high):
    if lowhigh:
        middle = sort(a,low,high)
        quicksort(a,low,middle)
        quicksort(a,middle+1,high)
        print(a)
sort(a,0,len(a)-1)
quicksort(a,0,len(a)-1)
print(a)

4.插入排序:從左向右遍歷,依次選取數值,從數值的左側從右向左遍歷,選擇第一個比他小的數值的右側插入該數值,其他數值依次向后賦值

#插入排序
a =[7,1,3,2,6,54,4,4,5,8,12,34]
for i in range(0,len(a)-1):
    temp=a[i+1]
    j=i+1
    while j>=0 and tempa[j-1]:
        j=j-1      
        print(j)
    if j>=-1:
        k= i+1
        while k>=j:
            a[k]=a[k-1]
            k=k-1
            print(a)
        a[j]=temp
print(a)

插入排序方法2,用到了列表的a.insert(1,2)和清楚a[2:3]=[],這樣可以少用一個循環

a =[7,1,3,2,6,54,4,4,5,8,12,34]
for i in range(1,len(a)-1):
    temp=a[i]
   
    j=i-1
    while j>=0 and temp=a[j]:
        print(temp)
        j=j-1
    if j >=-1:
        a[i:i+1]=[]
        a.insert(j+1,temp)
        print(a)
print(a)

到此這篇關于Python實現排序的四種方法的文章就介紹到這了,更多相關python排序方法內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python實現列表的排序方法分享
  • Python 列表排序方法reverse、sort、sorted詳解
  • python字符串排序方法
  • python字典多條件排序方法實例
  • Python中字典(dict)和列表(list)的排序方法實例
  • Python學習筆記_數據排序方法

標簽:湖北 宜昌 潮州 上饒 珠海 盤錦 佳木斯 西寧

巨人網絡通訊聲明:本文標題《Python實現排序方法常見的四種》,本文關鍵詞  Python,實現,排序,方法,常見,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python實現排序方法常見的四種》相關的同類信息!
  • 本頁收集關于Python實現排序方法常見的四種的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 鱼台县| 吉林市| 杭锦旗| 淄博市| 嘉禾县| 苏尼特左旗| 剑川县| 桐梓县| 宜宾市| 彭阳县| 蚌埠市| 来凤县| 南宫市| 武冈市| 镇原县| 察哈| 平乡县| 四川省| 凉城县| 普兰店市| 绥江县| 泸水县| 观塘区| 安达市| 巴里| 综艺| 德令哈市| 吉木萨尔县| 靖远县| 壶关县| 兴国县| 漳浦县| 翁牛特旗| 虹口区| 儋州市| 思南县| 伊宁市| 民和| 什邡市| 奉化市| 安新县|