插入排序
1 /**
2 * 插入排序
3 * yaoC 2014-09-04
4 * best:Θ(n)
5 * worst:Θ(n^2)
6 */
7
8 #include<iostream>
9 using namespace std;
10
11 /**
12 * [insertionSort 插入排序]
13 * @param p [未排序数组]
14 * @param num [数组长度]
15 */
16 void insertionSort(int* p, int num)
17 {
18 for (int j = 1; j < num; j++)
19 {
20 int key = p[j];
21 int i = j - 1;
22 while (i>=0 && p[i]>key)
23 {
24 p[i+1] = p[i];
25 i = i - 1;
26 }
27 p[i+1] = key;
28 }
29 }
30
31 int main()
32 {
33 int num = 0;
34
35 cout << "个数:";
36 cin >> num;
37 int* p = new int[num];
38 cout << "数值:";
39 for (int i = 0; i < num; i++)
40 cin >> p[i];
41 insertionSort(p, num);
42 cout << "after sorting:";
43 for (int i = 0; i < num; i++)
44 cout << p[i] << " ";
45 cout << endl;
46 }
2 * 插入排序
3 * yaoC 2014-09-04
4 * best:Θ(n)
5 * worst:Θ(n^2)
6 */
7
8 #include<iostream>
9 using namespace std;
10
11 /**
12 * [insertionSort 插入排序]
13 * @param p [未排序数组]
14 * @param num [数组长度]
15 */
16 void insertionSort(int* p, int num)
17 {
18 for (int j = 1; j < num; j++)
19 {
20 int key = p[j];
21 int i = j - 1;
22 while (i>=0 && p[i]>key)
23 {
24 p[i+1] = p[i];
25 i = i - 1;
26 }
27 p[i+1] = key;
28 }
29 }
30
31 int main()
32 {
33 int num = 0;
34
35 cout << "个数:";
36 cin >> num;
37 int* p = new int[num];
38 cout << "数值:";
39 for (int i = 0; i < num; i++)
40 cin >> p[i];
41 insertionSort(p, num);
42 cout << "after sorting:";
43 for (int i = 0; i < num; i++)
44 cout << p[i] << " ";
45 cout << endl;
46 }

浙公网安备 33010602011771号