您当前的位置:首页 > 圈子

c语言直接排序算法代码

2024-10-23 22:05:02 作者:石家庄人才网

石家庄人才网今天给大家分享《c语言直接排序算法代码》,石家庄人才网小编对内容进行了深度展开编辑,希望通过本文能为您带来解惑。

在C语言中,直接排序算法是一种简单易懂的排序算法,它通过比较和交换数组中的元素来实现排序。下面将介绍两种常见的直接排序算法:冒泡排序和选择排序,并提供相应的C语言代码。

1. 冒泡排序

冒泡排序算法的基本思想是:从数组的第一个元素开始,依次比较相邻的两个元素,如果它们的顺序不符合要求就交换它们的位置。这样,每一轮比较都会将最大的元素“冒泡”到数组的末尾。重复执行这个过程,直到数组完全有序。

冒泡排序C语言代码实现:

```c#include void bubbleSort(int arr[], int n) { int i, j, temp; for (i = 0; i < n - 1; i++) { for (j = 0; j < n - i - 1; j++) { if (arr[j] > arr[j + 1]) { // 交换arr[j]和arr[j + 1] temp = arr[j]; arr[j] = arr[j + 1]; arr[j + 1] = temp; } } }}int main() { int arr[] = {64, 34, 25, 12, 22, 11, 90}; int n = sizeof(arr) / sizeof(arr[0]); bubbleSort(arr, n); printf("排序后的数组: \n"); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); return 0;}```

2. 选择排序

选择排序算法的基本思想是:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

选择排序C语言代码实现:

```c#include

c语言直接排序算法代码

void selectionSort(int arr[], int n) { int i, j, minIndex, temp; for (i = 0; i < n - 1; i++) { // 寻找未排序部分最小元素的下标 minIndex = i; for (j = i + 1; j < n; j++) { if (arr[j] < arr[minIndex]) { minIndex = j; } } // 将最小元素与arr[i]交换 temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; }}int main() { int arr[] = {64, 25, 12, 22, 11}; int n = sizeof(arr) / sizeof(arr[0]); selectionSort(arr, n); printf("排序后的数组: \n"); for (int i = 0; i < n; i++) { printf("%d ", arr[i]); } printf("\n"); return 0;}```

希望以上代码能够帮助你理解冒泡排序和选择排序算法的实现。石家庄人才网小编提醒大家,这两种算法的时间复杂度都为O(n^2),在处理大量数据时效率较低,但在数据量较小时,它们简单易实现的特点仍然具有一定的应用价值。

石家庄人才网小编对《c语言直接排序算法代码》内容分享到这里,如果有相关疑问请在本站留言。

版权声明:《c语言直接排序算法代码》来自【石家庄人才网】收集整理于网络,不代表本站立场,所有图片文章版权属于原作者,如有侵略,联系删除。
https://www.ymil.cn/quanzi/23966.html