linux程序設計:堆和棧的區別
3 回答

慕哥9229398
TA貢獻1877條經驗 獲得超6個贊
typedef struct
{
int key;
int other;
}rectype;
rectype K[n];
//篩選算法
void sitf(rectypt K[],int i,int m)//在數組K[i]到K[m]中,調整K[i]
{
int j;
rectype temp;
temp=K[i];
j=2*i;
while(j=m)
{
if((j<m) && (K[j].key<K[j+1].key))
j++;
if(temp.key<K[j].key)
{
K[i]=K[j];
i=j;
j=2*i;
}
else
break;
}
K[i]=temp;
}
//堆排序算法
void heapsort(rectype K[])
{
int i;
rectype temp;
for(i=n/2;i>=1;i--)
sift(K,i,n);
for(i=n;i>1;i--)
{
temo=K[1];
K[1]=K[i];
K[i]=temp;
sift(K,1,i-1);
}
}
添加回答
舉報
0/150
提交
取消