c语言排序
时间: 2023-08-19 21:07:13 浏览: 96
C语言中有很多种排序算法,常见的有冒泡排序、选择排序、插入排序、快速排序、归并排序等等。这里给出两种常见的排序算法示例:
1. 冒泡排序
冒泡排序是一种简单的排序算法,其基本思想是通过不断比较相邻两个元素的大小,将较大的元素向后交换,从而使得序列逐渐变得有序。具体实现如下:
```c
void bubble_sort(int arr[], int len) {
int i, j, temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// 交换相邻两个元素的位置
temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
```
2. 快速排序
快速排序是一种高效的排序算法,其基本思想是通过递归地将序列分成左右两部分,并对左右两部分分别进行排序,最终合并成一个有序序列。具体实现如下:
```c
void quick_sort(int arr[], int left, int right) {
if (left < right) {
int i = left, j = right, temp = arr[left];
while (i < j) {
while (i < j && arr[j] >= temp) {
j--;
}
if (i < j) {
arr[i++] = arr[j];
}
while (i < j && arr[i] < temp) {
i++;
}
if (i < j) {
arr[j--] = arr[i];
}
}
arr[i] = temp;
quick_sort(arr, left, i - 1);
quick_sort(arr, i + 1, right);
}
}
```
以上是两种常见的排序算法示例,当然还有其他排序算法的实现方式,可以根据具体需求选择适合的算法。
阅读全文