#include <iostream>using namespace std;void show(int M[], int n)
{for(int i=0; i<n; i++)cout<<M[i]<<" ";cout<<endl;
}//快速排序
void quick_sort(int M[], int left, int right)
{if(left < right){int i,j,x;i = left;j = right;x = M[i];while(i<j){while(i<j && M[j]>= x)j--;if(i<j)M[i++] = M[j];while(i<j && M[i]<= x)i++;if(i<j)M[j--] = M[i];}M[i] = x;quick_sort(M, left, i-1);quick_sort(M, i+1, right);}}//插入排序
void insert_sort(int M[], int n)
{int i,j,tmp;for(i=0; i<n; i++){tmp = M[i]; //取一個新的數據tmpfor(j=i; j>0 && M[j-1]>tmp; j--)//將比數據tmp大的數據往后移動,直到找到比它的數據M[j] = M[j-1]; // j指向的始終是一個空位置M[j] = tmp;//將tmp放置在臨界位置上}
}//冒泡排序
void bubble_sort(int M[], int n)
{int i,j,k;for(i=0; i<n; i++) //每次冒泡后 數組最末端數據已經是最大數據,下次不需要重復排序for(j=0; j<n-i-1; j++){if(M[j]>M[j+1]){k = M[j+1];M[j+1] = M[j];M[j] = k;}}
}int main()
{// 輸入數據格式: 第一行 n 表示n個數據
// 接下里 輸入 n個數據,舉例如下:
// 5
// 1 3 5 2 4freopen ("input.txt", "r", stdin); //可以從文件中讀取數據輸入,//如果手動輸入,注釋該行int n;cin>>n;int M[n];for(int i =0; i<n; i++)cin>>M[i];show(M, n);quick_sort(M, 0, n-1);
// insert_sort(M, n);
// bubble_sort(M, n);show(M, n);return 0;
}
轉載于:https://www.cnblogs.com/yeran/p/10959797.html