C++ 入門指南 4.01

練習 17.10 參考程式 - 練習標準程式庫 algorithm 的攪亂順序函數

// 引入標準程式庫中相關的輸入、輸出程式
#include <iostream>
// 引入標準程式庫中的 vector
#include <vector>
// 引入標準程式庫中的 random_shuffle
#include <algorithm>
// 引入標準程式庫中的擬隨機數相關程式
#include <random>
// 引入標準程式庫中的 cstdlib 及 ctime
#include <cstdlib> // srand(), rand()
#include <ctime>   // time()

// cout 為 std 中的輸出物件
using std::cout;
// endl 為 std 中的斷行符號
using std::endl;
// vector 為 std 中的集合體型態
using std::vector;
// random_shuffle 為 std 中的攪亂函數
using std::random_shuffle;

// 產生隨機數
int myrandom(int i) {
    return rand() % i;
}

int main(void) {
    // 初始化擬隨機數產生器
    srand(time(NULL));

    // 宣告建立整數 vector
    vector<int> v = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

    // 攪亂整數 vector 中的元素順序
    random_shuffle(&v[0], &v[10], myrandom);

    // 印出整數 vector 的元素
    for (int i: v) {
        cout << i << ' ';
    }
    cout << endl;

    // 最後回傳 0 給作業系統
    return 0;
}

/* 《程式語言教學誌》的範例程式
   http://kaiching.org/
   檔名:exercise1710.cxx
   功能:C++入門指南單元十七的練習
   作者:張凱慶 */
回到練習題目

上一頁 練習 17.9 參考程式 - 練習標準程式庫 algorithm 的攪亂順序函數
回 C++ 入門指南 4.01 目錄
下一頁 練習 18.1 參考程式 - 練習標準程式庫的 map
回 C++ 教材
回程式語言教材首頁