首页 > 其他 > 详细

冒泡、快排、堆排

时间:2014-02-27 04:10:17      阅读:498      评论:0      收藏:0      [点我收藏+]

冒泡:

    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);
}

冒泡、快排、堆排,布布扣,bubuko.com

冒泡、快排、堆排

原文:http://www.cnblogs.com/chengzhiguang/p/3568649.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!