#include <bits/stdc++.h>
using namespace std;
const int N = 100010;
int a[N];
int n;
void print()
{
for(int i = 1; i <= n; i ++)
cout << a[i] << " ";
cout << endl;
}
void InsertSort()
{
int i,j;
for(i = 2; i <= n; i ++){
if(a[i] < a[i - 1]){
int t = a[i];
for(j = i - 1; j >= 1 && t < a[j]; j --){
a[j + 1] = a[j];
}
a[j + 1] = t;
}
}
print();
}
void ShellSort()
{
int i,j,dk;
for(dk = n / 2; dk >= 1; dk = dk / 2){
for(i = dk + 1; i <= n; i ++){
if(a[i] < a[i - dk]){
int t = a[i];
for(j = i - dk; j > 0 && t < a[j] ; j -= dk)
a[j + dk] = a[j];
a[j + dk] = t;
}
}
}
print();
}
void SimpleSort()
{
int i,j;
for(i = 1; i <= n; i ++){
int t = a[i], pos = i;
for(int j = i + 1; j <= n; j ++){
if(t > a[j]){
t = a[j];
pos = j;
}
}
swap(a[i],a[pos]);
}
print();
}
void HeapAdjust(int start,int end)
{
int t = a[start];
for(int i = start * 2; i <= end; i = i * 2){
if(i < end && a[i] < a[i + 1]) i ++;
if(a[i] > t){
a[start] = a[i];
start = i;
}
else break;
}
a[start] = t;
}
void HeapSort()
{
for(int i = n / 2 ; i > 0; i --){
HeapAdjust(i,n);
}
for(int i = n; i > 1; i --){
swap(a[i],a[1]);
HeapAdjust(1,i-1);
}
print();
}
void BubbleSort()
{
for(int i = n; i >= 1; i --){
for(int j = i - 1; j >= 1; j --)
if(a[j] > a[i]) swap(a[j],a[i]);
}
print();
}
void QuickSort(int l,int r)
{
if(l >= r) return ;
int i = l - 1 , j = r + 1 ,x = a[(l+r)/2];
while(i<j)
{
do i++ ; while(a[i]<x);
do j--;while(a[j]>x);
if(i<j) swap(a[i],a[j]);
}
QuickSort(l,j);
QuickSort(j+1,r);
}
int tmp[N];
void MergeSort(int l,int r)
{
if(l >= r) return ;
int mid = l + r >> 1;
MergeSort(l,mid), MergeSort(mid + 1, r);
int k = 1, i = l, j = mid + 1;
while (i <= mid && j <= r)
if (a[i] <= a[j]) tmp[k ++ ] = a[i ++ ];
else tmp[k ++ ] = a[j ++ ];
while (i <= mid) tmp[k ++ ] = a[i ++ ];
while (j <= r) tmp[k ++ ] = a[j ++ ];
for(int i = l, j = 1; i <= r; i ++, j ++) a[i] = tmp[j];
}
int main()
{
cin >> n;
for(int i = 1; i <= n; i ++) cin >> a[i];
// InsertSort();
// ShellSort();
// SimpleSort();
// HeapSort();
// BubbleSort();
// QuickSort(1,n); print();
// MergeSort(1,n); print();
}
七大排序__
最新推荐文章于 2024-09-07 05:15:02 发布