C/C++の宿題を片付けます 87代目 at TECH
[2ch|▼Menu]
735:デフォルトの名無しさん
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

4177日前に更新/299 KB
担当:undef