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++入門指南單元十七的練習
作者:張凱慶 */
回到練習題目