冒泡排序是一种简单直观的排序算法,其基本思想是重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复进行的,直到没有再需要交换的元素为止,也就是说该数列已经排序完成。
下面是一个使用C语言实现冒泡排序的例子:
```c
include
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
// 交换 arr[j] 和 arr[j+1]
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
void printArray(int arr[], int size) {
int i;
for (i=0; i < size; i++)
printf("%d ", arr[i]);
printf("\n");
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int n = sizeof(arr)/sizeof(arr[0]);
printf("Unsorted array: \n");
printArray(arr, n);
bubbleSort(arr, n);
printf("Sorted array: \n");
printArray(arr, n);
return 0;
}
```
这段代码首先定义了一个`bubbleSort`函数来实现冒泡排序,然后定义了一个`printArray`函数用于打印数组。在`main`函数中,我们创建了一个整型数组,并调用`bubbleSort`函数对其进行排序,最后打印出排序前和排序后的数组。
冒泡排序的时间复杂度为O(n^2),其中n是数组的长度。尽管其效率不高,但它的实现非常简单,对于小规模数据集来说,还是可以接受的。
标签:
免责声明:本文由用户上传,与本网站立场无关。财经信息仅供读者参考,并不构成投资建议。投资者据此操作,风险自担。 如有侵权请联系删除!