2.

2.#

请补全程序, 使其有以下输出.

11 2 3 4 4 4 5 6 7 8
24.9 8.7 25.6
 1#include <iostream>
 2
 3using namespace std;
 4
 5template <typename T>
 6void my_swap(/* (1) */) {
 7  T temp = *a;
 8  *a     = *b;
 9  *b     = temp;
10}
11
12template <typename T>
13void recursion(T a[], int f, int n) {
14  if (/* (2) */) {
15    return;
16  }
17  int min = f;
18  for (int i = f + 1; i <= n; i++) {
19    if (/* (3) */) {
20      min = i;
21    }
22  }
23  my_swap(/* (4) */);
24  /* (5) */
25}
26
27int main() {
28  int a[10]   = {1, 4, 2, 7, 5, 4, 8, 4, 6, 3};
29  double b[3] = {4.9, 25.6, 8.7};
30  recursion(a, 0, 9);
31  for (int i = 0; i < 10; i++) {
32    cout << a[i] << ' ';
33  }
34  cout << endl;
35  recursion(b, 0, 2);
36  for (int i = 0; i < 3; i++) {
37    cout << b[i] << ' ';
38  }
39  return 0;
40}