//了解基础数据结构,例如排序算法对于我们速度写出代码有很大的帮助。
#include <iostream>
using namespace std;
int A[8]={1,7,8,3,5,6,7,4};
int n=8;
void insertsort() //插入排序
{
for(int i=1;i<n;i++)
{
int t=A[i];
int j=i-1;
while(j>=0&&A[j]>t)
{
A[j+1]=A[j];
j--;
}
A[j+1]=t;
}
}
void Bubblesort() //冒泡排序
{
int t,exchange;
for(int i=0;i<n-1;i++)
{
exchange=0;
for(int j=n-1;j>i;j--)
{
if(A[j]<A[j-1])
{
t=A[j];
A[j]=A[j-1];
A[j-1]=t;
exchange=1;
}
}
if(exchange==0)
return ;
}
}
void selectsort() //选择排序
{
int k,t;
for(int i=0;i<n-1;i++)
{
k=i;
for(int j=i+1;j<n;j++)
{
if(A[j]<A[k])
k=j;
}
if(k!=i)
{
t=A[k];
A[k]=A[i];
A[i]=t;
}
}
}
void quicksort(int s,int t) //快速排序
{
int i=s,j=t;
int tmp;
if(s<t)
{
tmp=A[s];
while(i!=j)
{
while(j>i&&A[j]>=tmp)
j--;
A[i]=A[j];
while(i<j&&A[i]<tmp)
i++;
A[j]=A[i];
}
A[i]=tmp;
quicksort(s,i-1);
quicksort(i+1,t);
}
}
int main()
{
//insertsort();
//Bubblesort();
// selectsort();
quicksort(0,n-1);
for(int i=0;i<8;i++)
cout<<A[i]<<" ";
return 0;
}