PTA L2 022 重排鍊錶 25分

2021-10-10 22:23:51 字數 950 閱讀 4883

傳送門

這道題是關於鍊錶的題目。

我們可以直接陣列處理。

這裡要說的是輸出情況。

我們存的時候,按照鍊錶的順序給每個結點對應的索引。

然後根據這個索引進行重新排序。

輸出的時候注意到奇數和偶數的輸出情況。

**部分:

#include

#define mst(a, n) memset(a, n, sizeof(a))

using

namespace std;

const

int n =

1e5+10;

const

int m =55;

const

int inf =

1e6+10;

const

double eps =

0.05

;typedef

long

long ll;

struct node

a[n]

;int n, ad;

bool

cmp(node x, node y)

intmain()

cin >> ad >> n;

for(

int i =

0; i < n; i++

)int star = ad;

int cnt =1;

while

(star !=-1

)sort

(a, a + n, cmp)

;int i =

0, j = n -1;

cnt--

;for

(int i =

0; i < cnt /

2; i++

)else}if

(cnt &1)

return0;

}

L2 022 重排鍊錶 (25 分)

給定乙個單鏈表 l 1 l 2 l n 1 l n 請編寫程式將鍊錶重新排列為 l n l 1 l n 1 l 2 例如 給定l為1 2 3 4 5 6,則輸出應該為6 1 5 2 4 3。輸入格式 每個輸入包含1個測試用例。每個測試用例第1行給出第1個結點的位址和結點總個數,即正整數n 10 5 ...

L2 022 重排鍊錶 25分

給定乙個單鏈表 l 1 l 2 l n 1 l n 請編寫程式將鍊錶重新排列為 l n l 1 l n 1 l 2 例如 給定l為1 2 3 4 5 6,則輸出應該為6 1 5 2 4 3。每個輸入包含1個測試用例。每個測試用例第1行給出第1個結點的位址和結點總個數,即正整數n 10 5 結點的位址...

L2 022 重排鍊錶 25分

l2 022 重排鍊錶 25分 給定乙個單鏈表 l 1 l2 ln 1 ln 請編寫程式將鍊錶重新排列為 ln l1 l n 1 l2 例如 給定l為1 2 3 4 5 6,則輸出應該為6 1 5 2 4 3。輸入格式 每個輸入包含1個測試用例。每個測試用例第1行給出第1個結點的位址和結點總個數,即...