真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

python中怎么實現(xiàn)冒泡排序和插入排序

本篇文章給大家分享的是有關python中怎么實現(xiàn)冒泡排序和插入排序,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)不只是一家網站建設的網絡公司;我們對營銷、技術、服務都有自己獨特見解,公司采取“創(chuàng)意+綜合+營銷”一體化的方式為您提供更專業(yè)的服務!我們經歷的每一步也許不一定是最完美的,但每一步都有值得深思的意義。我們珍視每一份信任,關注我們的成都網站制作、做網站質量和服務品質,在得到用戶滿意的同時,也能得到同行業(yè)的專業(yè)認可,能夠為行業(yè)創(chuàng)新發(fā)展助力。未來將繼續(xù)專注于技術創(chuàng)新,服務升級,滿足企業(yè)一站式營銷型網站建設需求,讓再小的成都品牌網站建設也能產生價值!

1、冒泡排序

冒泡排序的主要思想類似于水底的氣泡,從水底向水平面移動時,不斷變大。

具體實現(xiàn)步驟如下:

step1: 比較相鄰的元素,如果第一個比第二個大,就交換他們兩個。

step2: 對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最后一對。此時,最后的元素應該是最大的數(shù)。

step3: 針對所有的元素重復以上的步驟,除了最后一個(最后一個已經是最大的了)。 持續(xù)每次對越來越少的元素重復上面的步驟,直到沒有任何一對數(shù)字需要比較。

python3的代碼如下:

# -*- coding: utf-8 -*-

"""

Created on Thu Dec 19 11:10:42 2019

@author: Boge

"""

arr_1= [6,3,9,15,4,2]

# 冒泡排序

def bubble_sort(arr):

for i in range(len(arr)):

for j in range(len(arr) - i -1):

if arr[j]>arr[j+1]:

arr[j],arr[j+1] = arr[j+1],arr[j]

return arr

# print('冒泡排序前:',arr_1)

# print('冒泡排序后:',bubble_sort(arr_1))

# 冒泡排序前: [6, 3, 9, 15, 4, 2]

# 冒泡排序后: [2, 3, 4, 6, 9, 15]

2、快速排序

快速排序的思想主要是將數(shù)列拆成一大、一小的數(shù)列,然后再對一大一小繼續(xù)分割迭代,最后實現(xiàn)數(shù)列的快速排序。

具體實現(xiàn)步驟如下:

step1: 先從數(shù)列中選取一個數(shù)作為基數(shù)(本人取了下標為中間對應的數(shù)組值作為基數(shù))。

step2: 將比這個大的數(shù)字全放在右邊,比這個數(shù)小的數(shù)字放在左邊,現(xiàn)在得到了左右兩個區(qū)間。

step3: 將左右區(qū)間分別再次執(zhí)行step1,不斷迭代,得到最終返回的數(shù)組=迭代(左)+[ 基數(shù)]+迭代(右)

python3的代碼如下:

arr_2 = [7,1,4,8,26,43,2,3]

# 快速排序

def quick_sort(arr):

if len(arr) <= 1:

return arr

mid = arr[len(arr)//2]

left,right = [],[]

arr.remove(mid)

for item in arr:

if item >= mid:

right.append(item)

else:

left.append(item)

return quick_sort(left) + [mid] + quick_sort(right)

# print('快速排序前:',arr_2)

# print('快速排序后:',quick_sort(arr_2))

# answer:

# 快速排序前: [7, 1, 4, 8, 26, 43, 2, 3]

# 快速排序后: [1, 2, 3, 4, 7, 8, 26, 43]

3、插入排序鄭州婦科醫(yī)院哪家好 http://mobile.chfk120.com/

插入排序的思想就是將無序數(shù)列插入到有序數(shù)列中。本質也是兩個元素比大小,滿足條件就交換位置,一開始會像冒泡排序一樣,但會比冒泡多一步就是交換后(a[i]=a[i+1]后)原位置(a[i]),會繼續(xù)和前面的數(shù)比較滿足條件交換,直到a[i+1]前面的數(shù)組是有序的。

具體實現(xiàn)步驟如下:

step1: 認定第一個元素為有序數(shù)列(第一個元素就一個,無需排序)。

step2: 選取無序數(shù)列中的第元素與有序數(shù)列的元素依次比較,如果比前面的數(shù)小,那就把它放到這個數(shù)前面。

python3的代碼如下:

arr_3 = [16,20,4,9,2,98,1,7]

# 插入排序

def insert_sort(arr):

for i in range(1,len(arr)):

value = arr[i]

j = i-1

while j >= 0:

if arr[j] > value:

arr[j+1] = arr[j]

else:

break

j -=1

arr[j+1] = value

print(arr)

return arr

# print('插入排序前:',arr_3)

# print('插入排序后:',insert_sort(arr_3))

# answer:

# 插入排序前: [16, 20, 4, 9, 2, 98, 1, 7]

# 插入排序后: [1, 2, 4, 7, 9, 16, 20, 98]

以上就是python中怎么實現(xiàn)冒泡排序和插入排序,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網站題目:python中怎么實現(xiàn)冒泡排序和插入排序
鏈接地址:http://weahome.cn/article/gcchoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部