日韩性视频-久久久蜜桃-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++的全部內容,希望文章能夠幫你解決所遇到的問題。

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

    主站蜘蛛池模板: 国产精品无圣光 | 国产精品视频一区二区三区, | 亚洲人交配视频 | 亚洲无人区码一码二码三码的含义 | 国产午夜激情 | 一曲二曲三曲在线观看中文字幕动漫 | 亚洲第一激情 | 日韩欧美激情在线 | 成人xxxxx| 日韩网站免费 | 成人尤物| 黄色片网站免费看 | 亚洲国产无码久久 | 中文字幕第一页亚洲 | 九九色九九 | 老牛影视av一区二区在线观看 | 国产精品后入内射日本在线观看 | 色综合av在线 | 久久精品国产精品亚洲毛片 | 女人和拘做爰正片视频 | 亚洲综合日韩 | 中文字幕25页 | 日本女优网址 | 三级网站国产 | 毛片基地免费观看 | 一区二区免费 | xx性欧美肥妇精品久久久久久 | 菊肠扩张playh| 婷婷激情综合 | 欧洲视频一区二区三区 | 亚洲男女激情 | 成人激情综合 | 俺去射| 精品少妇一区二区三区在线观看 | 免费欧美黄色片 | 黄色福利| 久久99精品国产.久久久久久 | 捆绑无遮挡打光屁股调教女仆 | 无码人妻黑人中文字幕 | 十大污视频 | 亚洲精品 日韩无码 | 白丝开裆喷水 | 色综合图片| 欧美亚韩一区二区三区 | 免费看一级黄色大全 | 日本久久爱 | 黄色裸体网站 | 午夜视频免费在线 | 91精品日韩 | 制服丝袜先锋影音 | 黄色三级视频在线观看 | xxxx久久 | 熟女人妇 成熟妇女系列视频 | 青青草国产精品 | 女同互舔视频 | 最新av中文字幕 | 妹子色综合 | 午夜视频观看 | 亚洲欧美日韩国产一区二区 | 久艹视频在线观看 | 亚洲免费av一区二区 | 亚洲熟女乱综合一区二区三区 | 成年网站免费在线观看 | 巨胸爆乳美女露双奶头挤奶 | 免费在线播放毛片 | 欧美偷拍少妇精品一区 | 奇米777视频 | 五月婷婷深爱 | 少女忠诚电影高清免费 | 一区二区三区四区在线 | 午夜视频污 | 玖玖在线免费视频 | 日韩二区三区四区 | 国产91免费看 | www.操操操 | 精品国产久 | 青青艹在线观看 | 亚洲综合激情另类小说区 | 久色伊人| yy1111111| 亚洲成人中文字幕在线 | 亚洲va国产va天堂va久久 | 熟妇高潮一区二区 | 久久久精品区 | 奇米四色在线观看 | 久久久999成人| 亚洲黄色免费视频 | 国产精品一区二区三区免费在线观看 | 一本色道久久综合亚洲 | 成人日韩精品 | aaa特级毛片| 日本一区二区三区在线观看视频 | 日本色悠悠 | 99久久久无码国产精品6 | h视频免费在线观看 | 亚洲综合av网 | 日本中文字幕在线视频 | 亚洲精品久久久久久久久久久久久 | 美女张开腿让男人操 |