python中怎么實現冒泡排序和插入排序-創新互聯

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

創新互聯建站是一家集網站建設,樂平企業網站建設,樂平品牌網站建設,網站定制,樂平網站建設報價,網絡營銷,網絡優化,樂平網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力。可充分滿足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

  1、冒泡排序

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

  具體實現步驟如下:

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

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

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

  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、快速排序

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

  具體實現步驟如下:

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

  step2: 將比這個大的數字全放在右邊,比這個數小的數字放在左邊,現在得到了左右兩個區間。

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

  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、插入排序鄭州婦科醫院哪家好 http://mobile.chfk120.com/

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

  具體實現步驟如下:

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

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

  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中怎么實現冒泡排序和插入排序,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注創新互聯-成都網站建設公司行業資訊頻道。

新聞標題:python中怎么實現冒泡排序和插入排序-創新互聯
文章分享:http://m.kartarina.com/article6/dcjgig.html

成都網站建設公司_創新互聯,為您提供電子商務品牌網站制作響應式網站軟件開發網頁設計公司企業網站制作

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都網站建設
主站蜘蛛池模板: 无码人妻精品一区二区蜜桃网站 | 无遮掩无码h成人av动漫| 精品国产毛片一区二区无码| 国产拍拍拍无码视频免费| 亚洲AV无码一区二区大桥未久 | 本道天堂成在人线av无码免费| 狠狠躁天天躁中文字幕无码| 亚洲AV无码国产精品色| 国精品无码A区一区二区| 久热中文字幕无码视频| 国产成人精品无码专区| AV无码精品一区二区三区| 亚洲av无码国产精品色在线看不卡| 亚洲成无码人在线观看| 国产综合无码一区二区三区| 成人免费无码大片A毛片抽搐色欲| 亚洲成a人片在线观看无码专区| mm1313亚洲国产精品无码试看| 日韩精品人妻系列无码专区免费| 日韩精品无码Av一区二区| 亚洲国产精品无码久久| 久久亚洲AV成人无码国产| 国产亚洲美日韩AV中文字幕无码成人| 无码人妻一区二区三区免费| 毛片无码免费无码播放| 亚洲AV无码国产在丝袜线观看| 无码人妻少妇伦在线电影| 亚洲精品无码久久久久APP| 亚洲中文字幕在线无码一区二区| 亚洲欧洲日产国码无码网站| 爽到高潮无码视频在线观看| 成年轻人电影www无码| 亚洲AV无码一区二区三区电影 | 久久亚洲AV永久无码精品| 国产乱人伦无无码视频试看 | 亚洲国产成人无码AV在线| 精品无码免费专区毛片| 97免费人妻无码视频| 无码精品尤物一区二区三区| 69久久精品无码一区二区| 午夜无码熟熟妇丰满人妻|