日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

std::shuffle-c++

發(fā)布時間:2025/7/14 c/c++ 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 std::shuffle-c++ 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在Python中我們會經??吹絪huffle的隨機排列函數,其可以將列表中的內容進行隨機排列,但在C++中卻需要自己去實現這樣功能的函數(c++0x之前)。在c++0x之后這樣的功能函數在標準庫中已有對應的提供——std::shuffle。下面就對該函數做具體的介紹: [cpp]?view plaincopy
  • template?<class?RandomAccessIterator,?class?URNG>??
  • void?shuffle?(RandomAccessIterator?first,?RandomAccessIterator?last,?URNG&&?g);??

  • 函數功能:使用隨機生成器g對元素[first, last)可行交換的容器內部元素進行隨機排列,大概原理類似如下代碼的功能 [cpp]?view plaincopy
  • template?<class?RandomAccessIterator,?class?URNG>??
  • void?shuffle?(RandomAccessIterator?first,?RandomAccessIterator?last,?URNG&&?g)??
  • {??
  • ??for?(auto?i?=?(last-first)?-?1;?i?>?0;?--i)?{??
  • ????std::uniform_int_distribution<decltype(i)>?d?(0,i);??
  • ????swap?(first[i],?first[d?(g)]);??
  • ??}??
  • }??
  • 函數必須與標準庫默認的隨機生成器一起使用,隨機生成器的頭文件是<random>。如果要使用不需要傳入隨機生成器函數可以參照random_shuffle函數。 參數: first, last 順序容器迭代器的開頭(begin)和結尾(end),在[first, end)這個區(qū)間內的數值將會被隨機排序。順序容器的迭代器必須是定義有swap函數的數據類型以及順序容器也必須支持元素可交換。 g 唯一隨機數生成器的一個實例,在頭文件<random>中定義。URNG?是?uniform random number generator的縮寫。 返回值: None 用例: [cpp]?view plaincopy
  • #include?<iostream>??
  • #include?<vector>??
  • #include?<algorithm>?//?std::move_backward??
  • #include?<random>?//?std::default_random_engine??
  • #include?<chrono>?//?std::chrono::system_clock??
  • ??
  • int?main?(int?argc,?char*?argv[])??
  • {??
  • ????std::vector<int>?v;??
  • ??
  • ????for?(int?i?=?0;?i?<?10;?++i)?{??
  • ????????v.push_back?(i);??
  • ????}??
  • ??
  • ????//?obtain?a?time-based?seed:??
  • ????unsigned?seed?=?std::chrono::system_clock::now?().time_since_epoch?().count?();??
  • ????std::shuffle?(v.begin?(),?v.end?(),?std::default_random_engine?(seed));??
  • ??
  • ????for?(auto&?it?:?v)?{??
  • ????????std::cout?<<?it?<<?"?";??
  • ????}??
  • ??
  • ????std::cout?<<?"\n";??
  • ??
  • ????return?0;??
  • }??

  • 編譯: g++ main.cpp -o shuffle -std=c++0x 執(zhí)行輸出: 6 4 2 3 7 8 5 1 9 0 4 7 3 6 8 0 2 9 5 1

    轉載于:https://www.cnblogs.com/lx-hhxxttxs/p/5908213.html

    《新程序員》:云原生和全面數字化實踐50位技術專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結

    以上是生活随笔為你收集整理的std::shuffle-c++的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 神马午夜888 | 男人懂得网站 | 欧洲中文字幕日韩精品成人 | 国产视频一区三区 | 97精品国产露脸对白 | 日韩爱爱视频 | 欧美卡一卡二 | 噼里啪啦免费观看 | 音影先锋av资源 | 精品成人一区二区 | 在线黄网 | 女厕厕露p撒尿八个少妇 | 高清乱码毛片 | 久草福利 | 国产亚洲二区 | 亚洲精品一二 | 成人综合网站 | 亚洲精品视频免费观看 | 欧美 日韩 国产 成人 | 久久久久久一级片 | 在线观看 一区 | 久久精品福利 | 巨乳美女在线 | 91美女片黄在线观看 | 婷婷麻豆| 99999av| 波多野结衣在线视频免费观看 | 成人综合在线观看 | 91精品国产高清91久久久久久 | 亚洲专区在线播放 | 日本色影院 | 热99这里只有精品 | 成人a视频在线观看 | 亚洲精品电影院 | 亚洲国产中文在线 | 久久国产色| 亚洲自拍天堂 | 国产伦理一区二区三区 | 中文字字幕在线中文 | 国产又粗又长又硬免费视频 | 伊人66| 免费小视频 | 九九热精品在线视频 | 国产精品美女久久久久 | 亚洲制服在线观看 | 777久久| 亚洲成人二区 | 台湾a级艳片潘金莲 | av手机天堂 | 亚洲欧美综合精品久久成人 | 国产精品久草 | 国产精品腿扒开做爽爽爽挤奶网站 | 黄色免费网站视频 | 深夜福利av | 午夜黄色一级片 | 白嫩情侣偷拍呻吟刺激 | 波多野结衣视频在线观看 | 红桃成人在线 | 国产 日韩 欧美 在线 | 肉大榛一进一出免费视频 | 日韩精品福利视频 | 亚洲国产成人在线视频 | 国产精品成人网 | 亚洲AV无码精品黑人黑人 | 老女人黄色片 | 艳妇臀荡乳欲伦交换在线看 | 亚洲av成人精品日韩在线播放 | 成人在线中文字幕 | 女人的天堂av | 日本一区二区免费视频 | 亚洲精品乱码久久久久久蜜桃91 | 国产一二区在线 | 国产又黄又骚 | 国产免费自拍视频 | 欧美在线视频你懂的 | 亚洲精品乱码久久久久久9色 | 丰满人妻一区二区三区46 | 熟女毛毛多熟妇人妻aⅴ在线毛片 | 色妞网站 | 免费天堂av| 在线观看色视频 | 一级高清毛片 | 天天操天天看 | 五十路japanese55丰满 | 国产精品自拍在线观看 | 黄色网址在线免费播放 | 欧美大片高清 | 69色堂| 一级黄色免费网站 | 国产又爽又黄又嫩又猛又粗 | 爱爱视频在线播放 | 成人特级毛片69免费观看 | 久久2019| 欧美一级做 | 久久xx| 国模在线 | 极品美女av | 亚洲av无码一区二区三区在线 | 黄色一级大片在线免费看国产 |