iOS 收集iOS学习记录首页投稿(暂停使用,暂停投稿)

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

2016-07-06  本文已影响92人  我系哆啦

冒泡排序

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

上一篇 下一篇

猜你喜欢

热点阅读