PAT 乙級 1025 鍊錶反轉(陣列反轉)

2021-08-29 02:56:45 字數 530 閱讀 8360

陣列反轉的兩種方式:

新創乙個陣列,空間換時間

陣列內部進行反轉

public void reverse(int *a, int start, int end)

tmp = firstaddr;

int sum = 0;

while (tmp != -1)

// 位址依次存到 list 中, 資料存到 data[addr]

// 反轉,只需將 list 中的位址進行反轉即可

for (int i = 0; i < sum - sum % reversegap; i += reversegap)

for (int i = 0; i < sum - 1; i++)

printf("%05d %d -1\n", list[sum - 1], data[list[sum - 1]]);

return 0;

}void reverse(int *list, int i, int gap)

}

PAT 乙級 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 個測試用例。每個測試用例...

PAT 乙級 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 個測試用例。每個測試用例...

PAT乙級 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 個測...