把你的算法改變一下: 紀錄開始的位置為初始為止,最終位置為結束位置。 從A1開始,依次向右檢查。 如果該數和初始位置不對應,跳過該數。 否則:紀錄該數位置。從它開始,依次把數放到結束位置,並且把結束位置的數置換出來。檢查結束位置是否為紀錄,如果是則跳過(一個循環完成) 隻要初始位置和結束位置計算時間是常數,這個算法就應該是線性時間,同時占用常數內存