三种排序方法(冒泡,快排,简单排序法)

冒泡排序法:
 
 
 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int arr[5] = { 44, 65, 25, 71, 36 };
 7 
 8     for (int i = 0; i < sizeof(arr) / sizeof(int) - 1; i++)
 9     {
10         for (int j = 0; j < sizeof(arr) / sizeof(int) - 1 - i; j++)
11         {
12             if (arr[j] > arr[j + 1])
13             {
14                 int temp = arr[j];
15                 arr[j] = arr[j + 1];
16                 arr[j + 1] = temp;
17             }
18         }
19     }
20 
21     for (int i = 0; i < sizeof(arr) / sizeof(int); i++)
22     {
23         cout << arr[i] << endl;
24     }
25 
26     system("pause");
27     return 0;
28 }

 

简单排序法:
 
 
 1 #include <iostream>
 2 using namespace std;
 3 
 4 int main()
 5 {
 6     int arr[5] = { 44, 65, 25, 71, 36 };
 7 
 8     for (int i = 0; i < sizeof(arr) / sizeof(int) - 1; i++)
 9     {
10         int min = i;
11         for (int j = i; j < sizeof(arr) / sizeof(int); j++)
12         {
13             if (arr[min] > arr[j])
14             {
15                 min = j;
16             }
17         }
18 
19         if (i != min)
20         {
21             int temp = arr[i];
22             arr[i] = arr[min];
23             arr[min] = temp;
24         }
25     }
26 
27     for (int i = 0; i < sizeof(arr) / sizeof(int); i++)
28     {
29         cout << arr[i] << endl;
30     }
31 
32     system("pause");
33     return 0;
34 }
 
快速排序法:
 


 
 
 1 #include <iostream>
 2 using namespace std;
 3 
 4 void quick_sort(int arr[], int begin, int end)
 5 {
 6     if (begin < end)
 7     {
 8         int i = begin;
 9         int j = end;
10         int k = arr[begin];
11 
12         while (i < j)
13         {
14             while (i < j && arr[j] > k)
15             {
16                 j--;
17             }
18 
19             if (i < j)
20             {
21                 arr[i] = arr[j];
22                 i++;
23             }
24 
25             while (i < j && arr[i] <= k)
26             {
27                 i++;
28             }
29 
30             if (i < j)
31             {
32                 arr[j] = arr[i];
33                 j--;
34             }
35         }
36 
37         arr[i] = k;
38         quick_sort(arr, begin, i - 1);
39         quick_sort(arr, i + 1, end);
40     }
41 }
42 
43 int main()
44 {
45     int array[9] = { 5, 9, 1, 9, 5, 3, 7, 6, 1 };
46 
47     quick_sort(array, 0, 8);
48 
49     for (int i = 0; i < 9; i++)
50     {
51         cout << array[i] << " ";
52     }
53 
54     cout << endl;
55 
56     system("pause");
57     return 0;
58 }
 
posted @ 2016-12-13 20:23  亮哥vvv  阅读(406)  评论(0编辑  收藏  举报