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

溫馨提示×

C++隊列如何從小到大排序

c++
小億
122
2024-01-18 19:33:19
欄目: 編程語言

要使用C++隊列實現從小到大排序,可以使用以下步驟:

  1. 首先,將原始數據依次插入到隊列中。

  2. 接下來,創建一個輔助隊列,并將原始隊列中的第一個元素插入到輔助隊列中。

  3. 然后,從原始隊列中取出第二個元素,并將其與輔助隊列中的元素依次比較。如果原始隊列中的元素比輔助隊列中的元素小,則將其插入到輔助隊列中的合適位置。如果原始隊列中的元素比輔助隊列中的元素大,則將輔助隊列中的元素依次插入到原始隊列中,并將原始隊列中的元素插入到輔助隊列中的合適位置。

  4. 重復步驟3,直到原始隊列為空。

  5. 最后,輔助隊列中的元素就是從小到大排序的結果。

以下是一個示例代碼:

#include <iostream>
#include <queue>

using namespace std;

void sortQueue(queue<int>& q) {
    queue<int> temp;
    while (!q.empty()) {
        int current = q.front();
        q.pop();
        while (!temp.empty() && temp.back() > current) {
            q.push(temp.back());
            temp.pop();
        }
        temp.push(current);
    }
    q = temp;
}

int main() {
    queue<int> q;
    q.push(5);
    q.push(2);
    q.push(8);
    q.push(1);
    q.push(3);

    cout << "原始隊列:";
    while (!q.empty()) {
        cout << q.front() << " ";
        q.pop();
    }
    cout << endl;

    sortQueue(q);

    cout << "排序后的隊列:";
    while (!q.empty()) {
        cout << q.front() << " ";
        q.pop();
    }
    cout << endl;

    return 0;
}

輸出結果為:

原始隊列:5 2 8 1 3 
排序后的隊列:1 2 3 5 8 

0
海林市| 浑源县| 新乡县| 新乡市| 尼玛县| 平顶山市| 大洼县| 孙吴县| 波密县| 繁昌县| 东乡族自治县| 郁南县| 黄大仙区| 德化县| 吉隆县| 阳城县| 鸡西市| 汤阴县| 新邵县| 天全县| 万州区| 高要市| 自贡市| 太康县| 广东省| 合肥市| 洪洞县| 吉隆县| 桓台县| 松桃| 马山县| 长丰县| 资源县| 界首市| 凤翔县| 怀远县| 林芝县| 互助| 水城县| 铁岭县| 万年县|