PAT乙1025 反轉鍊錶 25

2021-08-19 13:31:08 字數 917 閱讀 9560

題目描述:

給定乙個常數k以及乙個單鏈表l,請編寫程式將l中每k個結點反轉。例如:給定l為1→2→3→4→5→6,k為3,則輸出應該為3→2→1→6→5→4;如果k為4,則輸出應該為4→3→2→1→5→6,即最後不到k個元素不反轉。

程式:
#include 

#include

using

namespace

std;

struct node

;int main()

vector

list(100000);

for (int n = 0; n < n; n++) // 輸入結點資訊

vector

templist, sortlist; // 用於存放正向鍊錶 反向鍊錶

int newadd = firstadd; // 用於指明當前結點的位址

while (newadd != -1)

int lastindex = k-1;

while(lastindex < templist.size())

lastindex += k;

} for(int i = lastindex-k+1; i < templist.size(); ++i)

int nn;

for (nn = 0; nn < n-1; nn++)

sortlist[nn].next = -1;

int k;

for ( k = 0; k < sortlist.size()-1; k++)

printf("%05d %d %d\n", sortlist[k].add, sortlist[k].data, -1);

return

0;}

PAT 1025 反轉鍊錶 25

給定乙個常數k以及乙個單鏈表l,請編寫程式將l中每k個結點反轉。例如 給定l為1 2 3 4 5 6,k為3,則輸出應該為3 2 1 6 5 4 如果k為4,則輸出應該為4 3 2 1 5 6,即最後不到k個元素不反轉。輸入格式 每個輸入包含1個測試用例。每個測試用例第1行給出第1個結點的位址 結點...

PAT 1025 反轉鍊錶 25

給定乙個常數k以及乙個單鏈表l,請編寫程式將l中每k個結點反轉。例如 給定l為1 2 3 4 5 6,k為3,則輸出應該為3 2 1 6 5 4 如果k為4,則輸出應該為4 3 2 1 5 6,即最後不到k個元素不反轉。輸入格式 每個輸入包含1個測試用例。每個測試用例第1行給出第1個結點的位址 結點...

PAT1025反轉鍊錶 25

個人覺得難度一般,不過在乙組題裡難度是比較大的了 給定乙個常數k以及乙個單鏈表l,請編寫程式將l中每k個結點反轉。例如 給定l為1 2 3 4 5 6,k為3,則輸出應該為3 2 1 6 5 4 如果k為4,則輸出應該為4 3 2 1 5 6,即最後不到k個元素不反轉。輸入格式 每個輸入包含1個測試...