C/C++の宿題を片付けます 87代目at TECH
C/C++の宿題を片付けます 87代目 - 暇つぶし2ch735:デフォルトの名無しさん
07/05/22 22:12:01
>>730
void MAKENULL(PRQueue *Q){ Q->last = 0; }

void INSERT (ElementType x, PRQueue *Q){
int i, j;
for (i = Q->last++; i > 0; i = j) {
j = (i - 1)/2;
if (Q->elements[j] > x)
Q->elements[i] = Q->elements[j];
else break;
}
Q->elements[i] = x;
}

ElementType DELETEMIN(PRQueue *Q){
int i, j, root, tmp;
root = Q->elements[0];
tmp = Q->elements[--Q->last];
for (i = 0; 2*i + 1 < Q->last; i = j) {
j = 2*i + 1;
if (j + 1 < Q->last && Q->elements[j] > Q->elements[j + 1])
j++;
if (Q->elements[j] < tmp)
Q->elements[i] = Q->elements[j];
else break;
}
Q->elements[i] = tmp;
return root;
}


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch