c语言编写一个函数,用选择法实现对n个整数进行排序
时间: 2023-08-07 10:13:10 浏览: 68
好的,以下是一个使用选择排序算法实现对n个整数进行排序的C语言函数:
```c
void selectionSort(int arr[], int n) {
int i, j, minIndex, temp;
for (i = 0; i < n - 1; i++) {
minIndex = i;
for (j = i + 1; j < n; j++) {
if (arr[j] < arr[minIndex]) {
minIndex = j;
}
}
if (minIndex != i) {
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
}
}
```
这个函数接受一个整型数组和数组大小n作为参数。选择排序算法通过重复从未排序的部分选择最小值并将其放在已排序部分的末尾来对数组进行排序。我们使用两个嵌套的for循环,外部循环从数组的第一个元素开始遍历到倒数第二个元素,内部循环遍历未排序部分的元素,并找到最小值的索引。如果最小值不是当前位置的元素,我们交换这两个元素的位置。最终,数组将按升序排序。
相关问题
用c语言编写一个用选择法对整数数组进行简单排序的函数
好的,下面是用选择法对整数数组进行简单排序的C语言函数:
```c
void selectionSort(int arr[], int n) {
int i, j, min_idx;
for (i = 0; i < n-1; i++) {
min_idx = i;
for (j = i+1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
}
```
这个函数的参数包括一个整数数组和数组的大小。它使用选择法对数组进行简单排序,将较小的元素移动到数组的前面。
c语言,编写一个函数,用冒泡法对输入的十个整数进行排序
下面是用冒泡排序法对输入的十个整数进行排序的C语言代码:
```c
#include <stdio.h>
void bubbleSort(int arr[], int n) {
int i, j, temp;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
int main() {
int arr[10], i;
printf("请输入10个整数:\n");
for (i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
}
bubbleSort(arr, 10);
printf("排序后的结果为:\n");
for (i = 0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
运行程序后,用户需要输入10个整数,程序会对这些整数进行冒泡排序,并输出排序后的结果。