C语言实现冒泡排序算法 - 代码示例及详解
冒泡排序是一种简单的排序算法,它的基本思想是通过不断交换相邻的元素来将较大的元素逐步'冒泡'到数组的末尾,从而实现排序。以下是使用C语言实现冒泡排序的代码示例:
#include <stdio.h>
void bubble_sort(int arr[], int length) {
int i, j, temp;
for (i = 0; i < length - 1; i++) {
for (j = 0; j < length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
int main() {
int arr[] = { 5, 2, 9, 3, 7, 1, 8, 6, 4 };
int length = sizeof(arr) / sizeof(arr[0]);
int i;
printf("排序前的数组:");
for (i = 0; i < length; i++) {
printf("%d ", arr[i]);
}
bubble_sort(arr, length);
printf("\n排序后的数组:");
for (i = 0; i < length; i++) {
printf("%d ", arr[i]);
}
return 0;
}
在这个示例代码中,我们首先定义了一个函数bubble_sort来实现冒泡排序,它接受两个参数:待排序的数组arr和数组的长度length。在函数中,我们使用了两个嵌套的循环来进行排序,其中外层循环控制需要比较的次数,内层循环用于比较相邻的元素并进行交换。最终,我们就能得到一个按升序排列的数组。
在main函数中,我们首先定义了一个整型数组arr,并使用sizeof运算符计算数组的长度。接下来,我们调用bubble_sort函数来对数组进行排序,并使用循环输出排序前和排序后的数组。
原文地址: https://www.cveoy.top/t/topic/oYUp 著作权归作者所有。请勿转载和采集!