1.冒泡排序:相邻元素比较大小,每比较一次就将最大的排在最后,依次比较n-1、n-2…,一共比较(n*(n-1)/2)次
void bubble(int a[10])
{
int i,j,temp;
for(i=0;i<10;i++)
{
for(j=9;j>i;j--)
{
if(a[j-1]>a[j])
{
temp=a[j];
a[j]=a[j-1];
a[j-1]=temp;
}
}
}
}
2.快速排序:依次与该元素前面的元素比较大小,最终确定最小元素的位置,依次比较1、2…
void insert(int a[10])
{
int temp;
int i,j;
for(i=1;i<10;i++)
{
temp=a[i];
j=i;
while(a[j-1]>temp&&j>=1)
{
a[j]=a[j-1];
j--;
}
a[j]=temp;
}
}
快速排序:一般取第一个元素作为基准值,小于基准值放左边,大于基准值放右边,循环完一次后更换基准值…
void quick(int low,int hight,int a[10])
{
int i;
int first=low;
int last=hight;
int temp=a[first];
if (low >= hight)
return;
while(first<last)
{
while(a[last]>=temp&&first<last)
{
last--;
}
a[first]=a[last];
while(a[first]<=temp&&first<last)
{
first++;
}
a[last]=a[first];
}
a[first]=temp;
quick(low, first - 1,a);
quick(first+1, hight,a);
}