データ構造1--05-ツリー経路スタック7

 

 

 

 

 

 

1の#include <stdio.hの>
 2  の#define MAXN 1002年
 3  INT H [MAXN]、N、M、R [MAXN]。
4  空隙 inserth(INT データ)。
5  の読み取り();
6  ボイドprintr();
7  INT メイン(){
 8      リード()。
9      printr()。
10      リターン 0 ;
11  }
 12  
13  空隙 inserth(int型データ){
 14      H [ 0 ] ++ ;
15      H [H [ 0 ] =データ;
16      であれば(H [ 0 ] == 1のリターン;
17      // 根结点
18      他に { // 非根结点
19         int型I;
20         のために(iはH [= 0 ]; I> 1 ; iがI / = 2 ){
 21             であれば(データ<H [I / 2 ])H [I] = H [I / 2 ]と、
22             他に ブレーク23         }
 24         H [I] = データ。
25      }
 26  }
 27 ボイドリード(){
 28      H [ 0 ] = 0 ;
29      のscanf(" %D%D "、&​​N、&M)。
30      int型I、データ;
31      のためには、(iは= 1 ; I <= N; I ++ ){
 32          のscanf(" %d個"、&データ)。
33          inserth(データ)。
34      }
 35      リターン36  }
 37  空隙printr(){
 38      int型I、データ、J。
39      のための(私は=0 ; I <M、I ++ ){
 40          のscanf(" %dの"、およびR [I])。
41      }
 42      のためには、(iは= 0 ; I <M、I ++ ){
 43          であれば(R [i]が<= H [ 0 ]){
 44件の              データ= R [i]は、
45              のために(J =データ; J> = 1 ; J = J / 2 ){
 46                  のprintf(" %d個" 、H [J])。
47                  もし(!J = 1)のprintf("  " );
48              }
49              のprintf(" \ n個" );
50          }
 51      }
 52 }

要約:完成する過程で、に調整小さなヒープルートインサート値、後に問題があります。

おすすめ

転載: www.cnblogs.com/Learn-Excel/p/12631024.html