go實現雞尾酒排序演算法

2021-08-28 08:16:55 字數 533 閱讀 6420

前面我們講解了雞尾酒排序,今天我們來用**實現下

package main

import "fmt"

//雞尾酒排序

func cocktailsort(thearray int)int

} for j := thelen-1; j>0; j--

} if(!flag)

} return thearray

}func main()

fmt.print("排序前")

fmt.println(thearray)

fmt.print("排序後")

arrayresult := cocktailsort(thearray)

fmt.println(arrayresult)

}

執行結果如下

排序前[10 1 18 30 23 12 7 5 18 17]

排序後[1 5 7 10 12 17 18 18 23 30]

符合預期

雞尾酒演算法排序

一 什麼時雞尾酒排序?雞尾酒排序又稱為快樂小時排序,它基於氣泡排序進行的優化方案。二 雞尾酒演算法思想 氣泡排序是元素單向比較,而雞尾酒排序卻是雙向。列舉乙個最簡單的栗子array 2,3,4,5,6,7,8,9,1 如果按照傳統的氣泡排序進行操作,第一輪結果 2,3,4,5,6,7,8,1,9 只...

排序演算法 雞尾酒排序

雞尾酒排序是一種在氣泡排序的基礎上進行改進的演算法。和氣泡排序的從陣列的一端乙個個排序到另一端的單方向的順序不同,雞尾酒排序的元素比較和交換的雙向的。雙向是什麼意思呢?就是說,對於雞尾酒排序,第一輪從左到右進行排序,這裡和氣泡排序一模一樣,但是第二輪就不一樣了,此時需要的是從右到左,換個方向進行排序...

雞尾酒排序

氣泡排序是從陣列的一側到另一側為一輪,根據條件兩兩交換,例如關於氣泡排序中的一組資料3 2 5 4 6 1 8 9 7,優化的氣泡排序在經過六輪之後得到排好的陣列,而雞尾酒排序是一輪次比較兩回 先從左到右比較,如果左邊比右面大,交換位置 然後從右到左比較,左邊比右邊大,交換位置。就用冒泡中的那組數從...