-->
当前位置:首页 > 题库

编程题:选择排序

Luz4年前 (2022-05-25)题库1042
现请参照如下示意图,实现选择排序:

![selectionSort.png](~/bbd3bcf7-ecf6-4d55-ab05-56fb798a8c26.png)

### 输入格式:
一组由空格间隔的数字

### 输出格式:
第一行为一组由空格间隔的数字,从左至右已经按从小到大的顺序排好;
第二行为排列过程中进行的交换次数(请注意上图中有的轮数并未交换,所以交换次数不等于轮数。)

### 输入样例:
in
7 3 8 1 5


### 输出样例:
out
1 3 5 7 8
2







答案:若无答案欢迎评论


def selectionSort(arr):
count = 0
for i in range(len(arr)):
pMin = i
for j in range(i+1, len(arr)):
if arr[pMin] > arr[j]:
pMin = j
if i != pMin:
arr[i], arr[pMin] = arr[pMin], arr[i]
count += 1
print(*arr)
print(count)

def main():
arr = input().split() # make a list
selectionSort(arr)

if __name__ == '__main__':
main()