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

冒泡排序

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容