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


    冒泡排序法:
     
     
     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 }
     
  • 相关阅读:
    Java搭建邮件服务器并发送Excel附件
    Java发送Http带HEADER参数
    MySql 技术内幕 (查询处理和子查询)
    《MySQL技术内幕:SQL编程》笔记
    MySql 技术内幕 (数据类型)
    替换Jar包里文件
    [Python数据分析]新股破板买入,赚钱几率如何?
    一些资料
    sqlval
    IBM CLI 和 ODBC
  • 原文地址:https://www.cnblogs.com/zhaihongliangblogger/p/6171371.html
Copyright © 2020-2023  润新知