用C语言冒泡排序的数据结构的算法实现
时间: 2024-12-13 18:20:56 浏览: 4
在C语言中,冒泡排序是一个简单的排序算法,通过多次遍历待排序数组,每次比较相邻两个元素并交换位置,将最大的元素逐渐“冒”到数组的末尾。以下是冒泡排序的基本步骤的C语言实现:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) { // 遍历所有元素,共n-1轮
for (j = 0; j < n - 1 - i; j++) { // 每轮内部遍历次数减少
if (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]);
bubbleSort(arr, n);
printf("Sorted array: \n");
printArray(arr, n);
return 0;
}
```
在这个例子中,`bubbleSort`函数接受一个整数数组和它的大小作为参数,然后对数组进行冒泡排序。`printArray`函数用于打印排序后的数组。
阅读全文