使用选择法排序编写一个能为数组进行升序排序的程序。这三个函数的输入均是一个长度不大于100的无序数组arr,以及数组的长度n,请在函数selectSort中使用选择法对数组元素进行升序排序,函数inArray用于输入数组的n个元素,函数outArray用于输出数组的n个元素。
时间: 2024-02-12 10:09:32 浏览: 79
好的,以下是代码实现:
```python
def inArray(arr, n):
for i in range(n):
arr[i] = int(input())
def outArray(arr, n):
for i in range(n):
print(arr[i], end=' ')
def selectSort(arr, n):
for i in range(n-1):
minIndex = i
for j in range(i+1, n):
if arr[j] < arr[minIndex]:
minIndex = j
arr[i], arr[minIndex] = arr[minIndex], arr[i]
n = int(input())
arr = [0] * n
inArray(arr, n)
selectSort(arr, n)
outArray(arr, n)
```
这段代码实现了输入一个长度为n的无序数组,使用选择法进行升序排序,最后输出排序后的数组。在函数inArray中,我们使用for循环遍历数组的每一个元素,并使用int(input())获取用户输入的整数,将其赋值给对应的数组元素。
在函数selectSort中,我们使用嵌套的for循环实现了选择法排序。外层循环从0到n-2遍历每一个元素,内层循环从i+1到n-1遍历剩下的元素,找到最小的元素并将其与第i个元素交换位置。
最后,在函数outArray中,我们同样使用for循环遍历数组的每一个元素,并使用print语句输出每个元素的值,注意要在参数end中指定空格,以便将所有元素都输出在同一行。
阅读全文