swift&C双语版算法之冒泡排序

冒泡排序

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

Swift


//冒泡排序
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

}

C


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;

}

你可能感兴趣的:(swift&C双语版算法之冒泡排序)