輸入一個整數(shù)數(shù)組,實現(xiàn)一個函數(shù),來調(diào)整該數(shù)組中數(shù)字的順序使得數(shù)組中所有的奇數(shù)位于數(shù)組的前半部分,所有偶數(shù)位于數(shù)組的后半部分 //第一種方法: #include <stdio.h> void reverse(int *p,int len) { int *start = p; int *end = p + len - 1; int tmp = 0; while (start < end) { if ((*start) % 2 == 1) { start++; } else { if ((*end % 2 == 0)) { end--; } else { tmp = *start; *start = *end; *end = tmp; } } } } int main() { int arr[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int len = sizeof(arr) / sizeof(arr[0]); reverse(arr,len); int i = 0; for (i = 0; i < 10; i++) { printf("%d ", arr[i]); } return 0; } //第二種方法: #include <stdio.h> void swap(int *pa, int*pb) { int tmp = *pa; *pa = *pb; *pb = tmp; } int main() { int arr[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int left = 0; int right = sizeof(arr) / sizeof(arr[0])-1; while (left < right) { while ((left < right) && (arr[left] % 2 == 1)) { left++; } while ((left < right) && (arr[right] % 2 == 0)) { right--; } if (left < right) { swap(&arr[left], &arr[right]); left++; right--; } } int i = 0; for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++) { printf("%d ", arr[i]); } printf("\n"); return 0; }
網(wǎng)頁題目:使數(shù)組中奇數(shù)位于偶數(shù)前面
轉(zhuǎn)載來源:http://aaarwkj.com/article46/pccieg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、定制開發(fā)、微信小程序、軟件開發(fā)、用戶體驗、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)