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

溫馨提示×

溫馨提示×

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

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

調整數組順序使奇數位于偶數前面——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

山丹县| 花莲县| 大足县| 循化| 广州市| 龙江县| 五寨县| 鸡泽县| 都安| 安仁县| 土默特右旗| 元阳县| 商城县| 佛学| 平原县| 西和县| 宁化县| 陕西省| 滦南县| 海门市| 高要市| 大宁县| 金山区| 红安县| 沅江市| 三亚市| 宁蒗| 布尔津县| 丰台区| 阳城县| 抚宁县| 兴海县| 那曲县| 兴安县| 西畴县| 广丰县| 新宾| 长兴县| 玛沁县| 磐安县| 剑川县|