主頁 > 知識庫 > go實現(xiàn)冒泡排序的示例代碼

go實現(xiàn)冒泡排序的示例代碼

熱門標簽:仙桃400電話辦理 寧波語音外呼系統(tǒng)公司 上海極信防封電銷卡價格 鄭州智能語音電銷機器人價格 不封卡外呼系統(tǒng) 湛江crm外呼系統(tǒng)排名 重慶慶云企業(yè)400電話到哪申請 宿遷便宜外呼系統(tǒng)代理商 地圖標注免費定制店

冒泡排序: (Bubble Sorting)基本思想是通過對待排序序列從后向前(從下標較大的元素開始)以此比較相鄰元素的排序碼,若發(fā)現(xiàn)逆序則交換,使排序碼較小的元素逐漸從后補移向前部(從下標較大的單元移向單位較小的單元),就像水底的氣泡一樣逐漸向上冒。

因為排序的過程中,各元素不斷的接近自己的位置,如果一趟比較下來沒有進行過交換,就說明序列有序,因此要在排序過程中設(shè)置一個標志flag判斷元素是否進行過交換,從而減少不必要的比較(優(yōu)化)。

BubleSort.go

package main;

import "fmt"

func main() {
 array := []int{5,4,3,4,2}
 res := bubleSort(array)
 fmt.Println(res)
}

func bubleSort(array []int) []int {
 length :=len(array)
 //isChange :=false

 for i:=0;ilength;i++ {
  for j:=0;jlength-i-1;j++ {
  // j = length-i-1 這個是關(guān)鍵,每次 i ,少比較最后一位數(shù)組
   if array[j] > array[j+1] {
    array[j+1],array[j] = array[j],array[j+1]
    //isChange = true
   }
  }
  // 直接跳下次循環(huán)
  // if !isChange {
  //  break;
  // }
 }
 return array;
}

冒泡冒泡,就是每次循環(huán)都將最大的值,冒泡到數(shù)組最后,第二次冒泡也是從數(shù)組下標0位置開始。

到此這篇關(guān)于go實現(xiàn)冒泡排序的示例代碼的文章就介紹到這了,更多相關(guān)go 冒泡排序內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • GOLANG版的冒泡排序和快速排序分享
  • Go語言實現(xiàn)冒泡排序、選擇排序、快速排序及插入排序的方法

標簽:青海 儋州 電子產(chǎn)品 西雙版納 海南 安康 物業(yè)服務(wù) 遼寧

巨人網(wǎng)絡(luò)通訊聲明:本文標題《go實現(xiàn)冒泡排序的示例代碼》,本文關(guān)鍵詞  實現(xiàn),冒泡,排序,的,示例,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《go實現(xiàn)冒泡排序的示例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于go實現(xiàn)冒泡排序的示例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章