冒泡排序
冒泡排序的基本思想是:每次比较两个相邻的元素,如果他们的顺序错误就把他们交换过来。
冒泡排序的核心部分是双重嵌套循环,时间复杂度是O(n²)。
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>