选择排序
题目描述
以递归方法实现选择排序(从小到大),为便于检查,要求输出每一次操作后的数组元素的排列状况。
输入格式
两行输入,第一行表示数组元素个数,第二行表示数组元素,每个数之间以空格隔开
输出格式
每一行为一次操作后的输出
样例输入
5 3 1 5 4 2
样例输出
5 4 5 3 4 5 2 3 4 5 1 2 3 4 5
#include <iostream> using namespace std; void selectSort(int a[],int m ,int n); int main() { int n; cin >> n; int *a = new int[n]; for (int i = 0;i < n;i++) cin >> a[i]; selectSort(a,n-1,n); delete[] a; return 0; } void selectSort(int a[],int m ,int n) // m代表选的位置 { if (m < 0){ return; } for (int i = 0; i <= m; i++) if (a[i] > a[m]) { int tmp; tmp = a[i]; a[i] = a[m]; a[m] = tmp; } for (int i = m; i < n; i++) cout << a[i] << ' '; cout << endl; selectSort(a,m-1,n); }
人一我百,人十我万!自己选择的路,跪着也要走完。
浙公网安备 33010602011771号