最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法示例

 更新時間:2019年05月04日 16:57:28   作者:King-1018  
這篇文章主要介紹了Python實現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法,結(jié)合實例形式總結(jié)分析了Python插入排序,冒泡排序,快速排序,選擇排序等算法的實現(xiàn)與使用技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)的插入排序,冒泡排序,快速排序,選擇排序算法。分享給大家供大家參考,具體如下:

#!/usr/bin/python
# coding:utf-8
#直接插入排序
def insert_sort(list):
  for i in range(len(list)):
    Key = list [i]      #待插入元素
      j = i - 1
      while(Key < list[j] and j >= 0):
        list[j+1] = list[j]  #后移元素
        list[j] = Key
        j=j-1
  return list
#冒泡排序  
def bubble_sort(list):
  for i in range(1, len(list)):
    for j in range(len(list)-i):
      if list[j] > list [j+1]:
        list[j+1],list[j] =list[j],list[j+1]
  return list
#快速排序
def position_key(list, low, high):
  i = low
  j = high
  key = list[low]
  while(i < j):
    while(i < j and list[j] >= key):  #從右向左,尋找第一個小于基準(zhǔn)元素的數(shù)據(jù)索引。 注意:i<y 的判斷,內(nèi)循環(huán)更新j
      j -= 1
    if i < j :
      list[i] = list[j]
    while(i<j and list[i] <= key):   #從左向右,尋找地一個大于基準(zhǔn)元素的數(shù)據(jù)索引。i<y同上
      i += 1
    if i < j:
      list[j] = list[i]
  list[j] = key     # 基準(zhǔn)元素位置 
  return j
def quick_sort(list, low, high):
  if low < high:
    position = position_key(list, low, high) #將數(shù)據(jù)分成前后兩個子序列(前邊序列值均小于后邊序列)
    quick_sort(list, low, position-1)    #將前面的序列快速排序
    quick_sort(list, position+1, high)    #將后面的序列快速排序
  return list
#選擇排序
def select_sort(list):
  for i in range(len(list)):
    for j in range(i, len(list)):
      if list[i] > list[j]:
        list[i], list[j] = list[j], list[i]
  return list
list = [23, 232, 11, 89,121, 64, 34, 12, 23423, 2312, 167, 768, 932, 346, 32789, 335, 2, 1145, 34, 56, 99, 111]
print '原始序列  :', list
print '直接插入排序:', insert_sort(list)
print '冒泡排序  :', bubble_sort(list)
print '快速排序  :', quick_sort(list, 0, len(list)-1)
print '選擇排序  :', select_sort(list)

結(jié)果如下:

原始序列    : [23, 232, 11, 89, 121, 64, 34, 12, 23423, 2312, 167, 768, 932, 346, 32789, 335, 2, 1145, 34, 56, 99, 111]
直接插入排序: [2, 11, 12, 23, 34, 34, 56, 64, 89, 99, 111, 121, 167, 232, 335, 346, 768, 932, 1145, 2312, 23423, 32789]
冒泡排序    : [2, 11, 12, 23, 34, 34, 56, 64, 89, 99, 111, 121, 167, 232, 335, 346, 768, 932, 1145, 2312, 23423, 32789]
快速排序    : [2, 11, 12, 23, 34, 34, 56, 64, 89, 99, 111, 121, 167, 232, 335, 346, 768, 932, 1145, 2312, 23423, 32789]
選擇排序    : [2, 11, 12, 23, 34, 34, 56, 64, 89, 99, 111, 121, 167, 232, 335, 346, 768, 932, 1145, 2312, 23423, 32789]

PS:這里再為大家推薦一款關(guān)于排序的演示工具供大家參考:

在線動畫演示插入/選擇/冒泡/歸并/希爾/快速排序算法過程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多關(guān)于Python相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python列表(list)操作技巧總結(jié)》、《Python編碼操作技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對大家Python程序設(shè)計有所幫助。

相關(guān)文章

  • http請求 request失敗自動重新嘗試代碼示例

    http請求 request失敗自動重新嘗試代碼示例

    這篇文章主要介紹了http請求 request失敗自動重新嘗試代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python排序方法中sort和sorted的區(qū)別詳解

    Python排序方法中sort和sorted的區(qū)別詳解

    在python中常用的排序函數(shù)就是sort()和sorted()這兩個函數(shù),使用 sort() 或內(nèi)建函數(shù) sorted() 對列表進(jìn)行排序,本文將詳細(xì)介紹sorted和sort兩者之間的區(qū)別,感興趣的可以了解一下
    2023-08-08
  • Python深度學(xué)習(xí)實戰(zhàn)PyQt5窗口切換的堆疊布局示例詳解

    Python深度學(xué)習(xí)實戰(zhàn)PyQt5窗口切換的堆疊布局示例詳解

    本文以堆疊窗口控件為例,詳細(xì)介紹堆疊布局的界面設(shè)計和程序?qū)崿F(xiàn)過程,通過案例帶小白創(chuàng)建一個典型的堆疊布局多窗口切換程序
    2021-10-10
  • Python錯誤的處理方法

    Python錯誤的處理方法

    這篇文章主要介紹了Python錯誤的處理方法,文中代碼非常詳細(xì),幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • Python利用requests模塊下載圖片實例代碼

    Python利用requests模塊下載圖片實例代碼

    這篇文章主要給大家介紹了關(guān)于Python利用requests模塊下載圖片的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python-xpath獲取html文檔的部分內(nèi)容

    python-xpath獲取html文檔的部分內(nèi)容

    這篇文章主要介紹了python-xpath獲取html文檔的部分內(nèi)容,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • Python幫你微信頭像任意添加裝飾別再@微信官方了

    Python幫你微信頭像任意添加裝飾別再@微信官方了

    昨天朋友圈刷爆了@微信官方的梗,從起初的為頭像添加國旗,到最后的各種Book思議的需求…而我呢?下面跟隨小編一起學(xué)習(xí)Python幫你微信頭像任意添加裝飾別再@微信官方了,感興趣的朋友一起看看吧
    2019-09-09
  • python教程之生成器和匿名函數(shù)

    python教程之生成器和匿名函數(shù)

    這篇文章主要為大家介紹了python生成器和匿名函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Python 給下載文件顯示進(jìn)度條和下載時間的實現(xiàn)

    Python 給下載文件顯示進(jìn)度條和下載時間的實現(xiàn)

    這篇文章主要介紹了Python 給下載文件顯示進(jìn)度條和下載時間的代碼,本文通過實例代碼截圖相結(jié)合給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 你需要學(xué)會的8個Python列表技巧

    你需要學(xué)會的8個Python列表技巧

    這篇文章主要介紹了8個常用的Python列表技巧,文中講解非常詳細(xì),幫助大家更好的學(xué)習(xí)Python,感興趣的朋友可以了解下
    2020-06-06

最新評論

巩义市| 容城县| 比如县| 石林| 罗江县| 镇沅| 美姑县| 建湖县| 新营市| 瑞安市| 东安县| 涿鹿县| 长葛市| 思南县| 客服| 柞水县| 新营市| 龙陵县| 阳谷县| 二连浩特市| 饶阳县| 那曲县| 西和县| 连平县| 依安县| 乾安县| 武定县| 托克托县| 昭苏县| 宁津县| 永胜县| 门源| 偃师市| 黑龙江省| 邹平县| 观塘区| 来宾市| 南乐县| 张北县| 德化县| 洛宁县|