冒泡排序
时间复杂度:最坏O(n^2) 平均O(n^2) 最好O(n)
空间复杂度:O(1)
稳定性:稳定
数据敏感:敏感
#include<stdio.h>
//升序
void bubbleSort(int* arr,int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = 0; j < size - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int tmp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = tmp;
}
}
}
}
int main() {
int arr[10] = { 1,9,5,3,6,4,4,7,10,2 };
bubbleSort(arr, 10);
for (int i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
return 0;
}
本文深入讲解了冒泡排序算法的基本原理,包括其时间复杂度、空间复杂度、稳定性及数据敏感性。通过C语言实现了一个升序排序的例子,展示了冒泡排序如何在数组中工作,对初学者理解排序算法具有很好的指导作用。
1749

被折叠的 条评论
为什么被折叠?



