5.15

 1 #include <iostream>
 2 using namespace std;
 3 template<class T>
 4 void swapData(T& a, T& b)
 5 {
 6     T t = a;
 7     a = b;
 8     b = t;
 9 }
10 
11 template<class T>
12 void Bubblesort(T a[], int n)
13 {
14     int i = n - 1;
15 
16     while (i > 0)
17     {
18         int lastExchangeIndex = 0;
19         for (int j = 0; j < i; j++)
20             if (a[j + 1] < a[j])
21             {
22                 swapData(a[j], a[j + 1]);
23                 lastExchangeIndex = j;
24             }
25         i = lastExchangeIndex;
26 
27         for (int k = 0;k < n;k++)
28             cout << a[k] << " ";
29         cout << endl;
30     }
31 }
32 
33 int main()
34 {
35     int a[] = { 1,3,5,7,9,11,13,15,17,19,2,4,6,8,10,12,14,16,18,20 };
36 
37     cout << "排序前的数据:" << endl;
38     for (int i = 0; i < 20; i++)
39         cout << a[i] << " ";
40     cout << endl;
41 
42     cout << "进行排序:" << endl;
43     Bubblesort(a, 20);
44 
45     cout << "排序后的数据:" << endl;
46     for (int i = 0; i < 20; i++)
47         cout << a[i] << " ";
48     cout << endl;
49 
50     return 0;
51 }

 

posted @ 2023-05-15 20:28  Code13  阅读(54)  评论(0编辑  收藏  举报