冒泡:
void BubleSort(int tmp[],int n)
{
int_tmp;
intflag;
for(inti=0;i<n;++i)
{
flag=0;
for(intj=n-1;j>i;--j)
if(tmp[j]<tmp[j-1])
{
flag=1;
_tmp=tmp[j-1];
tmp[j-1]=tmp[j];
tmp[j]=_tmp;
}
if(flag==0)
return;
}
}
快排:
voidQuickSort(inttmp[],intstart,intend)
{
inti=start,j=end;
int_tmp;
if(i<j)
{
_tmp=tmp[i];
while(i!=j)
{
while(j>i&&tmp[j]>_tmp)
--j;
tmp[i]=tmp[j];
while(i<j&&tmp[i]<_tmp)
++i;
tmp[j]=tmp[i];
}
tmp[i]=_tmp;
QuickSort(tmp[],start,i-1);
QuickSort(tmp,i+1,end);
}
}
堆排:R【1。。。。。n】
voidShift(inttmp[],intlow,inthigh)
{
inti=low,j=2*i;
int_tmp=tmp[i];
while(j<=high)
{
if(j<high&&tmp[j]<tmp[j+1])
++j;
if(_tmp<tmp[j])
{
tmp[i]=tmp[j];
i=j;
j=2*i;
}
else
break;
}
tmp[i]=_tmp;
}
voidHeapSort(inttmp[],intn)
{
for(inti=n/2;i>=1;--i)
Shift(tmp,i,n);
int_tmp;
for(inti=n;i>=2;--i)
{
_tmp=tmp[i];
tmp[i]=tmp[1];
tmp[1]=tmp[i];
Shift(tmp,1,i-1);
}
原文:http://www.cnblogs.com/chengzhiguang/p/3568649.html