PTA 05 樹7 堆中的路徑

2021-10-06 08:50:29 字數 1145 閱讀 2669

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

輸入格式:

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

輸出格式:

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

輸入樣例:

5346

2326

241054

3

輸出樣例:

24 23 10

46 23 10

26 10

題意是構建最小堆,找到某個結點到根節點所經過的結點,並輸出

#include

#include

#include

#include

using

namespace std;

#define maxsize 1000

#define minh -10001

int tree[maxsize]

, size;

void

createheap()

void

insert

(int value)

int i =0;

//找到適合插入的位置

for( i =

++size;value < tree[i/2]

&& i >

1;i=i/2)

tree[i]

= value;

}int

main

(int argc,

char

*ar**)

}//對需要操作的數字進行讀入

for(

int i =

0;i < count;i++

) cout<}//列印對應的路徑

return0;

}

PTA 05 樹7 堆中的路徑

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

05 樹7 堆中的路徑

每組測試第1行包含2個正整數n和 m 1 000 分別是插入元素的個數 以及需要列印的路徑條數。下一行給出區間 10000,10000 內的 n個要被插入乙個初始為空的小頂堆的整數。最後一行給出 m個下標。對輸入中給出的每個下標i,在一行中輸出從h i 到根結點的路徑上的資料。數字間以1個空格分隔,...

05 樹7 堆中的路徑

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