1025 反轉鍊錶(C語言)

2021-09-11 23:45:28 字數 1093 閱讀 5436

設計思路:

利用陣列儲存節點

利用初始位址及 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行給出第...