資料結構實驗之棧六 下一較大值(二)

2021-08-04 22:44:17 字數 1060 閱讀 7291

資料結構實驗之棧六:下一較大值(二)

time limit: 150ms memory limit: 8000kb

submit statistic discuss

problem description

對於包含n(1<=n<=100000)個整數的序列,對於序列中的每一元素,在序列中查詢其位置之後第乙個大於它的值,如果找到,輸出所找到的值,否則,輸出-1。

input

輸入有多組,第一行輸入t(1<=t<=10),表示輸入的組數;

以後是 t 組輸入:每組先輸入n,表示本組序列的元素個數,之後依次輸入本組的n個元素。

output

輸出有多組,每組之間輸出乙個空行(最後一組之後沒有);

每組輸出按照本序列元素的順序,依次逐行輸出當前元素及其查詢結果,兩者之間以–>間隔。

example input

2 4 12 20 15 18

5 20 15 25 30 6

example output

12–>20

20–>-1

15–>18

18–>-1

20–>25

15–>25

25–>30

30–>-1

6–>-1

hint

本題資料量大、限時要求高,須借助棧來完成。

author

結構體,利用陣列模擬~

#include 

#include

#include

#define maxn 123456

struct node

;struct node a[maxn], b[maxn];

int main()

else

break;

}b[++top] = a[j];//入棧}}

for(int j=0;j//輸出

printf("%d-->%d\n", a[j].data, a[j].next);

}return

0;}

資料結構實驗之棧六 下一較大值(二)

time limit 150ms memory limit 8000k 有疑問?點這裡 對於包含n 1 n 100000 個整數的序列,對於序列中的每一元素,在序列中查詢其位置之後第乙個大於它的值,如果找到,輸出所找到的值,否則,輸出 1。輸入有多組,第一行輸入t 1 t 10 表示輸入的組數 以後...

資料結構實驗之棧六 下一較大值(二)

對於包含n 1 n 100000 個整數的序列,對於序列中的每一元素,在序列中查詢其位置之後第乙個大於它的值,如果找到,輸出所找到的值,否則,輸出 1。輸入有多組,第一行輸入t 1 t 10 表示輸入的組數 以後是 t 組輸入 每組先輸入n,表示本組序列的元素個數,之後依次輸入本組的n個元素。輸出有...

資料結構實驗之棧六 下一較大值(二)

time limit 150ms memory limit 8000k 有疑問?點這裡 對於包含n 1 n 100000 個整數的序列,對於序列中的每一元素,在序列中查詢其位置之後第乙個大於它的值,如果找到,輸出所找到的值,否則,輸出 1。輸入有多組,第一行輸入t 1 t 10 表示輸入的組數 以後...