溫馨提示×

C++ random_shuffle后如何恢復順序

c++
小樊
122
2024-07-21 10:20:05
欄目: 編程語言

要恢復C++中使用random_shuffle函數打亂的順序,可以通過保存原始序列的副本,然后將其重新排序為原始順序。以下是一個示例代碼:

#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> originalSequence = {1, 2, 3, 4, 5};

    // 使用random_shuffle函數打亂序列
    std::random_shuffle(originalSequence.begin(), originalSequence.end());

    // 打亂后的序列
    std::cout << "打亂后的序列:" << std::endl;
    for (int num : originalSequence) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    // 恢復為原始順序
    std::sort(originalSequence.begin(), originalSequence.end());

    // 恢復后的序列
    std::cout << "恢復后的序列:" << std::endl;
    for (int num : originalSequence) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}

在上面的示例中,首先創建了一個原始序列originalSequence,然后使用random_shuffle函數將其打亂順序。接著使用sort函數將序列恢復為原始順序。

通過保存原始序列的副本,并在需要時重新排序,可以實現恢復打亂順序后的序列。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女