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