keep red and win title

#include<iostream>using namespace std;void show(int a[],int n){for(int i=0;i<n;i++)cout<<a[i]<<" ";cout<<endl;}void InsertSort(int a[],int n){int temp;for(int j=1;j<n;j++){temp=a[j];for(int i=0;i<j;i++){if(a[i]>a[j]){for(int k=j;k>i;k–)a[k]=a[k-1];a[i]=temp;}}}cout<<"InsertSort:";show(a,n);}void Bubblesort(int a[],int n){bool flag=true;int temp;for(int i=0;i<n-1;i++){flag=true;for(int j=n-1;j>i;j–){if(a[j]<a[j-1]){flag=false;temp=a[j];a[j]=a[j-1];a[j-1]=temp;}}if(flag)break;}cout<<"Bubblesort:";show(a,n);}int patition(int a[],int m,int n){int temp=a[m];while(m<n){while((temp<a[n])&&(m<n))n–;a[m]=a[n];while((temp>=a[m])&&(m<n))m++;a[n]=a[m];}a[n]=temp;return n;}void QickSortCore(int a[],int m,int n){if(m<n){int p=patition(a,m,n);QickSortCore(a,m,p-1);QickSortCore(a,p+1,n);}}void QickSort(int a[],int n){QickSortCore(a,0,n-1);cout<<" QickSort:";show(a,n);}void SelectSort(int a[],int n){int temp;int index;for(int i=0;i<n;i++){temp=a[i];index=i;for(int j=i;j<n;j++){if(a[j]<temp){temp=a[j];index=j;}}a[index]=a[i];a[i]=temp;}cout<<"SelectSort:";show(a,n);}void AdjustHeap(int a[],int m,int n){int temp=a[m];for(int i=2*m+1;i<=n;i=i*2+1){if(((i+1)<=n)&&(a[i+1])>a[i])i++;if(a[i]<a[m])break;a[m]=a[i];a[i]=temp;m=i;}}void HeapSort(int a[],int n){int temp;for(int i=(n-1)/2;i>=0;i–)AdjustHeap(a,i,n-1);for(int i=n-1;i>=0;i–){temp=a[i];a[i]=a[0];a[0]=temp;AdjustHeap(a,0,i-1);}cout<<" HeapSort:";show(a,n);}void ShellSortCore(int a[],int n,int d){for(int k=0;k<d;k++){int temp;for(int j=k;j<n;j+=d){temp=a[j];for(int i=k;i<j;i+=d){if(a[i]>a[j]){for(int k=j;k>i;k-=d)a[k]=a[k-d];a[i]=temp;}}}}}void ShellSort(int a[],int n){int d[4]={5,3,2,1};for(int i=0;i<4;i++)ShellSortCore(a,n,d[i]);cout<<" ShellSort:";show(a,n);}void MergeSortCore(int a[],int m,int n){if(m<n){int p=(m+n)/2;MergeSortCore(a,m,p);MergeSortCore(a,p+1,n);for(int i=p+1;i<=n;i++){int temp;for(int j=i-1;j>=m;j–){if(a[j]>a[j+1]){temp=a[j+1];a[j+1]=a[j];a[j]=temp;}elsebreak;}}}}void MergeSort(int a[],int n){MergeSortCore(a,0,n-1);cout<<" MergeSort:";show(a,n);}int main(){int a1[20]={1,12,14,6,8,4,11,18,19,10,3,5,7,2,9,13,15,16,17,20};int a2[20]={1,12,14,6,8,4,11,18,19,10,3,5,7,2,9,13,15,16,17,20};int a3[20]={1,12,14,6,8,4,11,18,19,10,3,5,7,2,9,13,15,16,17,20};int a4[20]={1,12,14,6,8,4,11,18,19,10,3,5,7,2,9,13,15,16,17,20};int a5[20]={1,12,14,6,8,4,11,18,19,10,3,5,7,2,9,13,15,16,17,20};int a6[20]={1,12,14,6,8,4,11,18,19,10,3,5,7,2,9,13,15,16,17,20};int a7[20]={1,12,14,6,8,4,11,18,19,10,3,5,7,2,9,13,15,16,17,20};InsertSort(a1,20);Bubblesort(a2,20);QickSort(a3,20);SelectSort(a4,20);HeapSort(a5,20);ShellSort(a6,20);MergeSort(a7,20);return 0;}

,然后继续努力,把让自己跌倒的石头搬掉或绕过去,不就解决问题了吗?

keep red and win title

相关文章:

你感兴趣的文章:

标签云: