氣泡排序
func bubblesort(s int)int
} }return s
}
選擇排序
選擇是排序也屬於內部排序法,是從欲排序的資料中,按指定的規則選出某一元素,經過和其他元素重整,再依原則交換位置後達到排序目的。
第一次從r[0]-r[n-1]中選出最小值,與r[0]交換,第二次從r[1]-r[n-1]中選取最小值,與r[1]交換,第三次從r[2]-r[n-1]中選取最小值,與r[2]交換,...,第i次從r[i-1]-r[n-1]中選取最小值,與r[i-1]進行交換,...,第n-1次從r[n-2]~r[n-1]中選取最小值,與r[n-2]交換,總共通過n-1次,得到乙個按排序碼從小到大排序的有序序列。
func selectsort(s int)int
} // 交換操作
if minindex != i
} return s
}
插入排序
插入式排序也屬於內部排序法,是對於欲排序的元素以插入的方式找尋該元素的適當位置,以達到排序的目的。
把n個待排序的元素看成為乙個有序表和乙個無需表,開始時,有序表中只包含乙個元素,無序表中包含有n-1個元素,排序過程中每次從無序表中取出第乙個元素,把它的排序碼一次與有序表元素的排序碼進行比較,將它插入到有序表中的適當位置,使之成為新的有序表。
func insertsort(s int)int
// 插入
if insertindex + 1 != i
} return s
}
快速排序
快速排序是對氣泡排序的一種改進,基本思想是:通過一趟排序將要排序的資料分割成獨立的兩部分,其中一部分的所有資料都比另外一部分的所有資料都要小,然後再按此方法對兩部分資料分別進行快速排序,整個排序過程可以遞迴進行,以此達到整個資料程式設計有序序列。
// left 表示陣列左邊的下標
// right 表示陣列右邊的下標
// array b小時要排序的陣列
func quicksort(left, right int, s int)
// 從p的右邊找到小於p的值
for;s[r] > p;
// l >= r 表明本次分解任務完成,break
if l >= r
// 交換
s[l],s[r] = s[r],s[l]
// 優化
if s[l] == p
if s[r] == p
} // 如果l == r, 再移動下
if l == r
// 向左遞迴
if left < r
// 向右遞迴
if right > l
}
冒泡 插入 選擇 快速排序
各位親 有時間可以去看看我的 金駿家居 店 買時說明在我的部落格看到有優惠哦 還有意外禮品贈送 真正的程式設計師 店 氣泡排序 每次找出最大或者最小的數放到序列的最後。插入排序 每一次查詢都把數放到已排序序列合適的位置。例子 4,3,2,1如數中的第乙個數肯定是有序的,從第二個數開始3小於4,放在已...
排序 快速,插入,選擇,冒泡
快速排序 陣列快速排序 先取出陣列第乙個 把每個和它比較,比它小的放在l陣列,大的放r陣列,一直比較,最後合到乙個陣列 function kuaisu a l r array for i 1 i c i else l kuaisu l r kuaisu r return array merge l,...
js 冒泡 選擇 插入 快速排序
生成陣列 function generatearr sizi 100000 else if item 5 0 elseif set.size sizi return set 氣泡排序 相鄰兩個數比較,如果前面的數小於後面的數則互換位置 function a arr console.log k k 選...