題目:輸入一個(gè)整數(shù)數(shù)組,實(shí)現(xiàn)一個(gè)函數(shù)來調(diào)整該數(shù)組中數(shù)字的順序,使得所有的奇數(shù)位于數(shù)組的前半部分,所有的偶數(shù)位于位于數(shù)組的后半部分,并保證奇數(shù)和奇數(shù),偶數(shù)和偶數(shù)之間的相對(duì)位置不變。
首先這是一個(gè)整數(shù)數(shù)組。奇數(shù)放在數(shù)組的前半部分,偶數(shù)放在數(shù)組的后半部分。
所以設(shè)置兩個(gè)指針,第一個(gè)指針P1指向數(shù)組的第一個(gè)元素,第二個(gè)指針P2指向數(shù)組的最后一個(gè)元素。
p1只能向后移,p2只能向前移
題目要求為奇數(shù)在偶數(shù)前面。這是分情況來考慮。
1.p1指向?yàn)槠鏀?shù)。此時(shí)p1后移,直至遇到偶數(shù)。
2.p2指向?yàn)榕紨?shù)。此時(shí)p2前移,直至遇到奇數(shù)。
故p1指向奇數(shù),p2指向偶數(shù)。分別前移后移。
p1指向偶數(shù),p2指向奇數(shù),交換p1,p2所指向的值。
p1為奇數(shù),p2為奇數(shù),p1后移,p2不動(dòng)
p1為偶數(shù),p2為偶數(shù),p2前移,p1不動(dòng)。
當(dāng)p2的位置在p1前面的時(shí)候,所有的奇數(shù)在偶數(shù)前面。