陣列反轉的兩種方式:
新創乙個陣列,空間換時間
陣列內部進行反轉
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 個測...