C语言交换法排序
作者:野牛程序员:2023-08-23 11:59:10C语言阅读 2866
一种使用交换法进行排序的示例代码,它实际上是冒泡排序的变体。
以下是一个使用 C 语言实现交换法排序(类似冒泡排序)的示例代码:
#include <stdio.h>
// 交换两个元素的值
void swap(int *a, int *b) {
int temp = *a;
*a = *b;
*b = temp;
}
// 交换法排序函数
void exchangeSort(int arr[], int size) {
for (int i = 0; i < size - 1; i++) {
for (int j = i + 1; j < size; j++) {
if (arr[i] > arr[j]) {
swap(&arr[i], &arr[j]);
}
}
}
}
int main() {
int arr[] = {64, 34, 25, 12, 22, 11, 90};
int size = sizeof(arr) / sizeof(arr[0]);
printf("未排序数组:");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\\n");
exchangeSort(arr, size);
printf("交换法排序后数组:");
for (int i = 0; i < size; i++) {
printf("%d ", arr[i]);
}
printf("\\n");
return 0;
}在这段代码中,swap 函数用于交换数组中两个元素的值。exchangeSort 函数是主要的交换法排序函数,它遍历数组中的每对元素,如果顺序不正确,则进行交换。
交换法排序的时间复杂度为 O(n^2),其中 n 是数组的大小。它与冒泡排序类似,都是比较简单的排序方法,不适用于大规模数据集合。在实际应用中,通常会考虑更高效的排序算法,如快速排序、归并排序等。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:C语言冒泡排序法
- 下一篇:C语言比较浮点数的大小
