本文共 1244 字,大约阅读时间需要 4 分钟。
Write a program of the Selection Sort algorithm which sorts a sequence A in ascending order. The algorithm should be based on the following pseudocode:
SelectionSort(A)1 for i = 0 to A.length-12 mini = i3 for j = i to A.length-14 if A[j] < A[mini]5 mini = j6 swap A[i] and A[mini]
Note that, indices for array elements are based on 0-origin.
Your program should also print the number of swap operations defined in line 6 of the pseudocode in the case where i ≠ mini.
The first line of the input includes an integer N, the number of elements in the sequence.
In the second line, N elements of the sequence are given separated by space characters.
The output consists of 2 lines.
In the first line, please print the sorted sequence. Two contiguous elements of the sequence should be separated by a space character.
In the second line, please print the number of swap operations.
1 ≤ N ≤ 100
65 6 4 2 1 3
1 2 3 4 5 64
65 2 4 6 1 3
1 2 3 4 5 63
#include#include #include #include using namespace std;const int maxn=105;int n;int a[maxn];void SelectSort (){ int sum=0; for (int i=0;i
转载地址:http://vpaen.baihongyu.com/