heapsort.cpp
来自「排序算法的内部复杂度分析,有八个算法,有时间和空间的分析,比较完整」· C++ 代码 · 共 34 行
CPP
34 行
void heapshift(int items[],int first,int last)
{
int j,p,t;
p=first;
t=items[p];
for(j=2*p;j<=last;j=j*2)
{
if(j<last && items[j]<items[j+1]) j++;
if(t>items[j]) break;
items[p]=items[j];
heapsortrecord=1;
recordin();
p=j;
}
items[p]=t;
return;
}
void heapsort(int items[],int count)
{
int i;
int temp;
for(i=count/2;i>=1;i--)
heapshift(items,i,count);
for(i=count;i>0;i--)
{
temp=items[1];
items[1]=items[i];
items[i]=temp;
heapshift(items,1,i-1);
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?