두 갈래 트리 그룹 실현

5633 단어
 1 #include 
 2 
 3 void createbtree(int *btree,int *data,int len)
 4 {
 5     int level;                              // 
 6     int i;
 7     
 8     btree[1] = data[1];                     // 
 9     for( i = 2; i <= len; i++)              // 
10     {
11         level = 1;                          // 1 
12         while ( btree[level] != 0)          // 
13         {                       
14             if (data[i] > btree[level])     // 
15                 level = level * 2 + 1;      // 
16             else
17                 level = level * 2;          // 
18         }
19         btree[level] = data[i];             // 
20     }
21 }
22 
23 
24 
25 int main()
26 {
27     int btree[16];
28     
29     int data[10] = {0,5,6,4,8,2,3,7,1,9};
30     int i;
31     
32     for( i = 1; i < 16; i++ )
33         btree[i] = 0;
34     createbtree(btree,data,9);
35     for(i = 1; i< 16; i++)
36     printf("%2d: [%d] 
",i,btree[i]); 37 38 39 return 0; 40 }

좋은 웹페이지 즐겨찾기