C语言从小到大排序基础题
时间: 2024-10-19 22:02:58 浏览: 39
东北大学C语言期末题库
5星 · 资源好评率100%
C语言中有多种算法可以用于对数组进行排序,这里我们主要讲解两种基本的排序算法:选择排序(Selection Sort)和冒泡排序(Bubble Sort)。
1. **选择排序**:
- 算法原理:每次从未排序的部分中找到最小(或最大)的元素,放到已排序部分的末尾。分为两个步骤:查找未排序部分的最小值并交换它,然后继续处理剩余的元素直到整个数组有序。
- 伪代码示例:
```c
for (i = 0; i < n-1; i++) {
min_idx = i;
for (j = i+1; j < n; j++) {
if (array[j] < array[min_idx]) {
min_idx = j;
}
}
if (min_idx != i) {
swap(&array[i], &array[min_idx]);
}
}
```
2. **冒泡排序**:
- 算法原理:通过不断比较相邻的元素并交换位置,较小的数会逐渐“浮”到前面。遍历数组多次,每次都把最大的未排序元素移到末尾。若一轮结束后没有发生交换,说明已经有序。
- 伪代码示例:
```c
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (array[j] > array[j+1]) {
swap(&array[j], &array[j+1]);
}
}
}
```
阅读全文