C++【生成16個不重複字母】(生成不重複隨機數)
常規做法:生成一個隨機數,存在陣列中。往後每次生成一個隨機數,都需要遍歷前面的陣列,如果相同則需要重新生成一個隨機數,再重新比較一遍,這樣非常麻煩!
改進版做法:先得到一個26個字母組成的陣列,再用隨機數把陣列打亂(兩兩交換即可實現)
#include<iostream>
using namespace std;
int main
{
const int N = 16;//不重複字母陣列的長度
srand((unsigned int)time(0));//生成隨機數
char arr[26];
for (int i = 0; i < 26; i++) arr[i] = 'a' + i;//生成一個26個字母的陣列(順序)
for (int i = 0; i < N; i++)//將字母陣列打亂順序
{
int p = rand() % 26, q = rand() % 26;
int temp = arr[p];
arr[p] = arr[q];
arr[q] = temp;
}
//輸出結果:
//取該陣列的前16為就是我們需要的陣列了
for (int i = 0; i < N; i++)
{
cout << arr[i]<<" ";
}
}
相關文章
- 巧用物件,生成不重複隨機數物件隨機
- 如何生成隨機不重複的11位數字隨機
- javascript生成不重複隨機數程式碼例項JavaScript隨機
- matlab之生成不重複的隨機整數Matlab隨機
- 生成固定長度不重複的隨機字串隨機字串
- python怎麼生成隨機不重複陣列Python隨機陣列
- C語言程式生成指定範圍的不重複的隨機數C語言隨機
- 高效產生不重複的隨機數隨機
- JavaScript 陣列隨機不重複元素JavaScript陣列隨機
- 高效產生一組不重複的隨機數隨機
- js生成不重複數字陣列程式碼例項JS陣列
- 無重複隨機數生成隨機
- JavaScript陣列中隨機取出不重複項JavaScript陣列隨機
- js獲取指定位數不重複隨機數程式碼例項JS隨機
- 匹配指定位數不重複數字
- JavaScript隨機不重複的字元組成新的字串JavaScript隨機字元字串
- 生成14個可重複一次的隨機數隨機
- C++生成隨機數C++隨機
- mongodb怎麼統計不重複數量?MongoDB
- Excel 透視表如何不重複計數Excel
- 字元流中第一個不重複的字元字元
- js隨機取出陣列中不重複值元素程式碼和例項JS隨機陣列
- JavaScript生成四位數字或者字母隨機數JavaScript隨機
- ruby指令碼,隨機生成複雜密碼指令碼隨機密碼
- 文字框onkeyup,不重複執行
- C++ 快速隨機數生成器C++隨機
- Java之生成一個隨機驗證碼(數字+大小寫字母)Java隨機
- 生成隨機數隨機
- 百度筆試題:找最小的不重複數筆試
- 高效產生一組不重複的隨機數(受程式設計珠磯啟示)java實現隨機程式設計Java
- select下拉選單新增不重複項
- [隨機數詳解]生成一個隨機數,生成指定範圍的隨機數及隨機陣列去重隨機陣列
- JavaScript 生成隨機數JavaScript隨機
- mysql生成隨機數MySql隨機
- 劍指Offer 字元流中第一個不重複的字元字元
- Java入門三:學生序列排序完善練習:生成3個不重複的1000以內正整Java排序
- C#迴圈中使用Random生成隨機數有重複問題C#random隨機
- golang 計算最長不重複字串長度Golang字串