冒泡排序
冒泡排序的基本思想是:每次比較兩個(gè)相鄰的元素螟炫,如果他們的順序錯(cuò)誤就把他們交換過來励烦。
冒泡排序的核心部分是雙重嵌套循環(huán)负敏,時(shí)間復(fù)雜度是O(n2)或颊。
Swift
<pre>
//冒泡排序
func bubbleSort(originArray:[Int]) -> [Int]? {
if originArray.isEmpty {
return nil
}
var array = originArray
for i in 1...(array.count - 1) {
for j in 0...(array.count - 1 - i) {
if array[j] > array[j + 1] {
swap(&array[j], &array[j+1])
}
}
}
return array
}
</pre>
C
<pre>
int* bubble_sort(int num[], int count)
{
for (int i = 1; i < count; i++) {
for (int j = 0; j < (count - i); j++) {
if (num[j] > num[j+1]) {
int temp = num[j];
num[j] = num[j+1];
num[j+1] = temp;
}
}
}
return num;
}
</pre>