設計思路:
利用陣列儲存節點
利用初始位址及 next 位址,為列表排序,並以 -1 為終點,記錄真實節點數目
根據 k 值,反轉鍊錶,利用陣列下標,對稱交換即可
編譯器:c (gcc)
#include
typedef
struct linklink;
intinputlink
(int n, link links)
;int
sortlink
(int n,
int a, link links)
;int
reverselink
(int n,
int k, link links)
;int
printlink
(int n, link links)
;int
main()
;scanf
("%d %d %d"
,&a,
&n,&k)
;inputlink
(n, links)
; n =
sortlink
(n, a, links)
;reverselink
(n, k, links)
;printlink
(n, links)
;return0;
}int
inputlink
(int n, link links)
return0;
}int
sortlink
(int n,
int a, link links)
}if(links[i]
.next ==-1
) n = i +1;
}return n;
}int
reverselink
(int n,
int k, link links)
}return0;
}int
printlink
(int n, link links)
PAT 乙級 1025 反轉鍊錶 C語言
題目 給定乙個常數 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 個測試用...
1025 反轉鍊錶
在這道題中這其實是一道偽反轉鍊錶的題目,因為每乙個節點中其實沒有儲存指標的值,所以可以使用vector reverse來配合 自己的解法 給定乙個常數k以及乙個單鏈表l,請編寫程式將l中每k個結點反轉。例如 給定l為1 2 3 4 5 6,k為3,則輸出應該為3 2 1 6 5 4 如果k為4,則輸...
1025 反轉鍊錶
1025.反轉鍊錶 給定乙個常數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行給出第...