91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

奇數位于偶數前面

發布時間:2020-07-20 16:15:08 來源:網絡 閱讀:1014 作者:檸檬dream 欄目:編程語言

題目:輸入一個整數數組,實現一個函數來調整該數組中數字的順序,使得所有奇數位于數組的前半部分,偶數位于后半部分。

 思路:這個題目要求把奇數放在數組的前半部分,偶數放在數組的后半部分,因此數組中所有奇數位于偶數前面。我們在掃描這個數組時,遇到偶數在奇數前面時可以交換一下它們的順序。因此我們可以定義兩個指針pBengin、pEnd,pBegin指向數組的首地址,pEnd指向數組的最后一位,當pBengin指向的數字為奇數時,pbengin向后移動,當指向的數字為偶數時,先不動。當pEnd指向的數字為偶數時不動,奇數時向前移動。在沒有相遇之前奇數總數位于偶數前面,如果第一個指向的位偶數第二個指向的為奇數,可以交換這兩個數字。

代碼:

#include<iostream>

using namespace std;
void ReorderOddEven(int *arr,int length)
{
	if(arr==NULL|| length==NULL)
		return;
	int *pBegin=arr;
	int *pEnd=arr+length-1;
	while(pBegin<pEnd)
	{
		while(pBegin<pEnd && (*pBegin%2)!=0)//向后移動直到它指向偶數
			pBegin++;
		while(pBegin<pEnd && (*pEnd%2)==0)//向前移動直到它指向奇數
			pEnd--;
		if(pBegin<pEnd)
		{
			int tmp=*pBegin;
			*pBegin=*pEnd;
			*pEnd=tmp;
		}
	}
}

int main()
{
	int arr[]={1,2,3,4,5,6,7};
	int sz=sizeof(arr)/sizeof(arr[0]);
	ReorderOddEven(arr,sz);
	for(int i=0;i<sz;i++)
	{
		cout<<arr[i]<<' ';
	}
	return 0;
}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

渭源县| 额尔古纳市| 余干县| 凤山市| 时尚| 织金县| 成都市| 孝感市| 汽车| 周宁县| 顺平县| 栖霞市| 麦盖提县| 铜陵市| 苗栗县| 房山区| 天台县| 阳山县| 盐亭县| 沙坪坝区| 东乡| 乐东| 澄城县| 晋宁县| 三台县| 利川市| 宣城市| 海伦市| 吉木乃县| 武夷山市| 邯郸县| 阳山县| 平遥县| 象州县| 开鲁县| 衡南县| 阜康市| 上犹县| 富民县| 本溪市| 永新县|