C语言编程实现简单选择排序
时间: 2023-12-25 11:28:23 浏览: 29
以下是C语言实现简单选择排序的代码和注释解释:
```c
#include <stdio.h>
void selectSort(int data[], int n) {
int i, j;
int min = 0;
// 外层循环控制排序轮数,一共需要n-1轮
for (i = 0; i < n - 1; i++) {
min = i; // 假设当前位置为最小值
// 内层循环从i+1位置开始,找到最小值的位置
for (j = i + 1; j < n; j++) {
if (data[min] > data[j]) {
min = j; // 更新最小值位置
}
}
// 将最小值与当前位置交换
int temp = data[min];
data[min] = data[i];
data[i] = temp;
}
// 输出排序后的结果
for (i = 0; i < n; i++) {
printf("%d ", data[i]);
}
}
int main() {
int data[] = {26, 54, 93, 17, 71, 31, 44, 55, 20};
selectSort(data, 9);
return 0;
}
```
相关问题
c语言编程实现直接插入排序
好的,以下是C语言编程实现直接插入排序的代码:
```c
void insertionSort(int arr[], int n) {
int i, j, key;
for (i = 1; i < n; 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;
}
}
```
其中,`arr`是待排序的数组,`n`是数组的长度。该算法的思路是,将数组分为两部分,一部分是已经排好序的,一部分是未排序的。每次从未排序的部分中取出一个元素,并将它插入到已排序的部分中的正确位置。
具体来说,从第二个元素开始,将其作为“关键字”(即待插入的元素),与已排序的部分从后往前比较,找到它的正确位置,然后将已排序部分中比它大的元素后移一位,最后将它插入到正确位置。重复以上步骤,直到将所有元素都插入到已排序的部分中。
用c语言编程实现冒泡排序
以下是用C语言编程实现冒泡排序的示例代码:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
int 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("Sorted array: \n");
for (int i=0; i < n; i++) {
printf("%d ", arr[i]);
}
return 0;
}
```
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)