SCAU 18925 試卷排序(雙向鍊錶)

2021-10-22 18:14:33 字數 737 閱讀 3486

18925 試卷排序(雙向鍊錶)

description

老師要將n張試卷重新排序,每張試卷都有編號為1∼n,採取如下的方法:

先將編號1的試卷放進佇列,剩下從第2張到第n張依次放入佇列,

放入的時候老師會把編號i的試卷插入到編號為x試卷之前或之後(x輸入格式

第1行為乙個正整數n,表示了有n張試卷。

第2-n行,第i行包含兩個整數x,p,其中x為小於i的正整數,p為0或者1。

若p為0,則表示將第編號為i的試卷放入編號為x試卷的左邊,為1則放入x試卷的右邊。

輸出格式

輸出n個整數,表示完成插入後試卷系列中試卷的編號(1<=n<=100000)。

輸入樣例

41 0

2 11 0

輸出樣例

2 3 4 1

// 參考了大佬的思路,用陣列代替雙向鍊錶,a[1][1]是自身,a[1][2]代表左邊 a[1][3]代表右邊 並且記錄第乙個數字。

//不用雙向鍊錶是因為不會--。--

// an highlighted block

#include

#include

int main()

else

} int ans =start;

for(int i=

1;i<=n;i++

)return0;

}

1101 填空題 鍊錶的排序 SCAU

題目 先建立乙個鍊錶 鍊錶中各結點未按學號由小到大排序 然後呼叫sort函式,將鍊錶中各結點按學號由小到大排序。法一 超時 這個題我一開始的思路是利用冒泡的思想,當當前結點比next結點大的時候,交換兩者next所指向內容。比如鍊錶1 5 4 6 當指標p指向5所在結點的時候,發現p next的nu...

四 C 雙向鍊錶排序

建立乙個長度為n的帶頭結點的雙向鍊錶,使得該鍊錶中的資料元素遞增有序排列。必須使用雙向鍊錶完成,資料型別為整型。輸入第一行 雙向表的長度 第二行 鍊錶中的資料元素。輸出 輸出雙向鍊錶中的資料元素的值。樣例輸入 10 2 4 6 3 5 8 10 21 12 9樣例輸出 2 3 4 5 6 8 9 1...

雙向鍊錶的歸併排序

歸併排序分為兩個部分 mergesort和merge mergesort是乙個遞迴函式,在這個函式裡面把待排序的陣列或鍊錶分段,直到每段的長度為1為止。merge在這個函式中把分開的兩段結合起來,並且在結合的過程中排序 對於乙個陣列用歸併排序是比較方便的,而在對雙向鍊錶用歸併排序時就會發現next ...