编写子函数,实现整数数组的选择排序,在主函数中输入数据,并在主函数中输出排序好的数据。
时间: 2023-05-02 15:05:21 浏览: 87
这个问题的意思是如何编写一个函数,实现对整数数组的选择排序,在主函数中输入数据,并在主函数中输出排序好的数据。
选择排序就是不断的选择最小的数,然后放到前面,不断重复这个过程,就可以把整个数组排序。以下是代码实现:
```python
def selectionSort(arr):
n = len(arr)
for i in range(n):
min_index = i
for j in range(i+1, n):
if arr[j] < arr[min_index]:
min_index = j
arr[i], arr[min_index] = arr[min_index], arr[i]
return arr
# 测试
if __name__ == '__main__':
arr = [64, 25, 12, 22, 11]
print("原始数组为:", arr)
res = selectionSort(arr)
print("排序后的数组为:", res)
```
以上代码中,函数的参数是一个整数数组,然后对这个数组进行选择排序,并返回排序后的数组。在主函数中进行数据输入,然后将结果输出即可。
相关问题
c语言写编写子函数,实现整数数组的选择排 序,在主函数中输入数据,并在主函数中输出排序好的数据。
下面是一个用 C 语言编写的选择排序函数及其在主函数中的调用示例:
```c
#include <stdio.h>
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;
}
}
int main() {
int arr[] = {64, 25, 12, 22, 11};
int n = sizeof(arr) / sizeof(arr[0]);
selectionSort(arr, n);
printf("Sorted array: ");
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
```
输出:
```
Sorted array: 11 12 22 25 64
```
在这个例子中,我们定义了一个名为 `selectionSort` 的函数,该函数使用选择排序算法对传递给它的整数数组进行排序。在主函数中,我们定义了一个整数数组,并将其传递给 `selectionSort` 函数进行排序。最后,我们在主函数中输出排序后的数组。
请用C语言编写如下程序:.设计一个子函数,对任意n个整数排序,并在主函数中输入10个整数,调用此函数排序。
以下是用C语言编写的程序,实现对任意n个整数排序的功能:
```c
#include <stdio.h>
void sort(int arr[], int n); // 声明排序函数
int main()
{
int n = 10; // 排序的元素个数
int arr[n]; // 声明要排序的数组
int i;
// 输入要排序的元素
printf("请输入%d个整数:\n", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
sort(arr, n); // 调用排序函数
// 输出排序后的结果
printf("排序后的结果为:\n");
for (i = 0; i < n; i++) {
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
// 实现选择排序算法
void sort(int arr[], int n)
{
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = i + 1; j < n; j++) {
if (arr[j] < arr[i]) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
}
```
该程序中,sort函数实现了选择排序算法,可以对任意n个整数进行排序。在主函数中,先声明要排序的数组,然后输入10个整数,并调用sort函数进行排序,最后输出排序后的结果。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.png)
![text/plain](https://img-home.csdnimg.cn/images/20210720083646.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)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)