1)i=0,j=n-1
2)在不越界的前提下,i從當前向後找到第壹個偶數a[i]
3)若i已越界,則轉步驟8)
4)在不越界的前提下,j從當前位置向前找到第壹個奇數a[j]
5)若j已越界,則轉步驟8)
6)若i<j,則交換a[i]與a[j],然後i++,j--
7)若i<j,則轉步驟2)
8)算法結束
此算法的時間復雜度為O(n),空間復雜度為O(n),臨時存儲單元為O(1),三個單元:i,j和用於交換的壹個。