亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

調整數組順序使奇數位于偶數前面——14

發布時間:2020-07-05 03:52:59 來源:網絡 閱讀:457 作者:給我個bit位 欄目:編程語言

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

 

    首先,可以想到,用前后兩個指針一個在數組首一個在數組尾同時往數組中間遍歷,當遇到前指針遇到偶數后指針遇到奇數時,就將兩個數交換,直到兩指針相遇或者前指針超過了后指針,這個有點類似快速排序的思想;

程序設計如下:

#include <iostream>
#include <assert.h>
using namespace std;

void AdjustArr(int *parr, size_t size)   //調整數組
{
    assert(parr && size);

    int *start = parr;
    int *end = parr+size-1;

    while(start < end)
    {   
        while((start < end)&&((*start % 2) != 0))//當start指針遇到偶數停止
            ++start;
        while((start < end)&&((*end % 2) == 0))  //當end指針遇到奇數停止
            --end;
        if(start < end)//判斷start和end位置
        {   swap(*start, *end);
            ++start;
            --end;
        }
        else
            return;
    }   
}

void PrintArr(int *parr, size_t size)  //打印數組
{
    assert(parr && size);

    for(size_t i = 0; i < size; ++i)
    {   
        cout<<parr[i]<<" ";
    }   
    cout<<endl;
}

int main()
{
    int arr[] = {1,5,2,4,6,11,3,8,0,7};
    size_t size = sizeof(arr)/sizeof(arr[0]);

    PrintArr(arr, size);
    AdjustArr(arr, size);
    PrintArr(arr, size);

    return 0;
}


運行程序,結果:

調整數組順序使奇數位于偶數前面——14



《完》

向AI問一下細節

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

AI

曲麻莱县| 紫阳县| 增城市| 通道| 望城县| 栾川县| 明光市| 沁水县| 中西区| 方山县| 开阳县| 台中县| 张家港市| 巴塘县| 托里县| 桦川县| 新宁县| 宜宾县| 内江市| 刚察县| 富蕴县| 江北区| 麻城市| 抚顺县| 开原市| 贵州省| 华容县| 牙克石市| 金湖县| 扎鲁特旗| 微博| 阿克苏市| 万宁市| 庆云县| 芒康县| 瑞昌市| 舟山市| 澄江县| 大兴区| 灯塔市| 德安县|