05 樹7 堆中的路徑(25 分)

2022-07-30 23:33:12 字數 1127 閱讀 1248

將一系列給定數字插入乙個初始為空的小頂堆h。隨後對任意給定的下標i,列印從h[i]到根結點的路徑。

每組測試第1行包含2個正整數n和m(≤1000),分別是插入元素的個數、以及需要列印的路徑條數。下一行給出區間[-10000, 10000]內的n個要被插入乙個初始為空的小頂堆的整數。最後一行給出m個下標。

對輸入中給出的每個下標i,在一行中輸出從h[i]到根結點的路徑上的資料。數字間以1個空格分隔,行末不得有多餘空格。

5 3

46 23 26 24 10

5 4 3

24 23 10

46 23 10

26 10

我的答案:

1 #include 2 #include 3 #include 4

5#define mindata -10001

6 typedef struct heapstruct *minheap;

7struct

heapstruct ;

1213 minheap create(int

maxsize)

1423

24int

isfull(minheap h)

2528

29void insert(minheap h, int

item)

3036 i = ++h->size;

37for(;h->data[i/2]>item;i/=2

) 41 h->data[i] =item;

42}

4344

void print(minheap h, int

m)45

else59}

60 printf("\n"

);61}62

}6364int

main()

6576

//for(i=1;i<=n;i++)

79//

printf("\n");

80print(mheap, m);

81 }

05 樹7 堆中的路徑 25分

05 樹7 堆中的路徑 25分 將一系列給定數字插入乙個初始為空的小頂堆h。隨後對任意給定的下標i,列印從h i 到根結點的路徑。每組測試第1行包含2個正整數nn和m m 1000 1 000 分別是插入元素的個數 以及需要列印的路徑條數。下一行給出區間 10000,10000 內的n n個要被插入...

05 樹7 堆中的路徑 25分

將一系列給定數字插入乙個初始為空的小頂堆h。隨後對任意給定的下標i,列印從h i 到根結點的路徑。輸入格式 每組測試第1行包含2個正整數nn和mm le 1000 1000 分別是插入元素的個數 以及需要列印的路徑條數。下一行給出區間 10000,10000 內的nn個要被插入乙個初始為空的小頂堆的...

05 樹7 堆中的路徑 25分

將一系列給定數字插入乙個初始為空的小頂堆h。隨後對任意給定的下標i,列印從h i 到根結點的路徑。每組測試第1行包含2個正整數nn和m m le 1000 1 000 分別是插入元素的個數 以及需要列印的路徑條數。下一行給出區間 10000,10000 內的n n個要被插入乙個初始為空的小頂堆的整數...