C语言交换法排序
作者:野牛程序员:2023-08-23 11:59:10C语言阅读 2669
一种使用交换法进行排序的示例代码,它实际上是冒泡排序的变体。
以下是一个使用 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语言比较浮点数的大小