用C语言实现排序的经典代码分享

更新时间:02-12 教程 由 或许 分享

C语言是一种广泛使用的编程语言,其应用范围非常广泛。其中,排序算法是C语言中常见的一个应用场景。本文将分享一些C语言实现排序的经典代码。

1. 冒泡排序

冒泡排序是一种简单的排序算法,其基本思想是通过不断交换相邻的元素,将较大的元素逐步向后移动,从而实现排序。以下是C语言实现冒泡排序的代码

```ctt) {t - 1; i++) { - i - 1; j++) {

if (arr[j] >arr[j + 1]) {p = arr[j];

arr[j] = arr[j + 1];

}

}

}

2. 选择排序

选择排序是另一种简单的排序算法,其基本思想是从未排序的元素中选择小的元素,将其放在已排序的序列末尾,直到所有元素均排序完成。以下是C语言实现选择排序的代码

```ctt) {tin - 1; i++) {in_idx = i;; j++) {in_idx]) {in_idx = j;

}

}pin_idx];in_idx] = arr[i];

}

3. 插入排序

插入排序是一种简单的排序算法,其基本思想是将未排序的元素逐个插入到已排序的序列中,从而实现排序。以下是C语言实现插入排序的代码

```csertiontt) {t i, j, key;; i++) {

key = arr[i];

j = i - 1;

while (j >= 0 && arr[j] >key) {

arr[j + 1] = arr[j];

j = j - 1;

}

arr[j + 1] = key;

}

4. 快速排序

快速排序是一种高效的排序算法,其基本思想是通过分治的方式将序列分成较小的子序列,然后递归地对子序列进行排序,终实现整个序列的排序。以下是C语言实现快速排序的代码

```cttt right) {t

if (left< right) {

pivot = left;

i = left;

j = right;

while (i< j) {

while (arr[i]<= arr[pivot] && i< right) {

i++;

}

while (arr[j] >arr[pivot]) {

j--;

}

if (i< j) {p = arr[i];

arr[i] = arr[j];

}

}p = arr[pivot];

arr[pivot] = arr[j];

quick_sort(arr, left, j - 1);

quick_sort(arr, j + 1, right);

}

以上是C语言实现排序的经典代码分享,希望对大家有所帮助。在实际应用中,不同的排序算法适用于不同的场景,需要根据具体情况进行选择。

声明:关于《用C语言实现排序的经典代码分享》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2127305.html