1.冒泡排序
void BubbleSort(int a[],int n)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<n-1-i;j++)
{
if(a[j]>a[j+1])
swap(a[j],a[j+1]);
}
}
}
2.选择排序
void SelectSort(int a[],int n)
{
for(int i=0;i<n;i++)
{
for(int j=i+1;j<n;j++)
{
if(a[i]>a[j])
swap(a[i],a[j]);
}
}
}
3.插入排序
void InsertSort(int a[],int n)
{
int key,j;
for(int i=1;i<n;i++)
{
key=a[i];
j=i-1;
while(j>0&&a[j]>key)
{
a[j+1]=a[j];
j--;
}
a[j+1]=key;
}
}
4.希尔排序
void ShellSort(int a[],int n)
{
int i,j,gap;
for (gap=n/2;gap>0;gap/=2)
{
for (i=gap;i<n;i++)
{
for(j=i-gap;j>=0&&a[i]<a[j];j-=gap)
{
a[j+gap]=a[j];
}
a[j+gap]=a[i];
}
}
}
5.快速排序
void QuickSort(int a[],int left,int right)
{
int i=left,j=right;
int mid=a[(left+right)/2];
do{
while(a[i]<mid) i++;
while(a[j]>mid) j--;
if(i<=j)
{
swap(a[i],a[j]);
i++;
j--;
}
}while(i<=j);
if(left<j)
QuickSort(a,left,j);
if(i<right)
QuickSort(a,i,right);
}