C语言冒泡排序代码示例及解析
以下是使用C语言编写的冒泡排序的示例代码:
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
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;
}
}
}
}
int main() {
int arr[] = {5, 2, 8, 4, 9, 1, 3};
int n = sizeof(arr) / sizeof(arr[0]);
int i;
printf('Original array: ');
for (i = 0; i < n; i++) {
printf('%d ', arr[i]);
}
printf('\n');
bubbleSort(arr, n);
printf('Sorted array: ');
for (i = 0; i < n; i++) {
printf('%d ', arr[i]);
}
printf('\n');
return 0;
}
输出:
Original array: 5 2 8 4 9 1 3
Sorted array: 1 2 3 4 5 8 9
在上面的代码中,我们首先定义了一个bubbleSort函数来执行冒泡排序。该函数采用传递给它的整数数组和数组的大小作为参数。在函数中,我们使用两个嵌套的循环来遍历数组,比较相邻的元素并根据需要交换它们的位置。在每一轮排序后,最后一个元素都会被正确排序,所以我们可以在下一轮中忽略它。最终,当所有元素都被正确排序时,排序过程结束。
在main函数中,我们首先声明了一个整数数组,并在数组中初始化一些元素。然后我们计算数组的大小,并使用bubbleSort函数对数组进行排序。最后,我们打印原始数组和排序后的数组。
原文地址: https://www.cveoy.top/t/topic/nP7q 著作权归作者所有。请勿转载和采集!