在C#版看到这一篇文章,手边现在正开著MacBook上网
实在不太想重新开Windows跟Visual Studio来编码
正好我也在练习C++ Template,那就很刚好试著用Template来实践一下
复制代码 代码如下:
//
// main.cpp
// RandomTest
//
// Created by Cloud on 2011/4/10.
// Copyright 2011年 Orz. All rights reserved.
//
#include <iostream>
#include <vector>
using namespace std;
template<class T>
class RandomWord
{
T m_Word;
int m_Probability;
public:
RandomWord(T word, int probability):m_Word(word),m_Probability(probability){}
T getWord() { return m_Word; }
int getProbability() { return m_Probability; }
};
template<class T>
class RandManager
{
vector<RandomWord<T> > m_randomList;
int m_sumOfProbability;
public:
RandManager() :m_randomList(), m_sumOfProbability(0)
{
}
void AddRandomWord(RandomWord<T> word)
{
if(m_sumOfProbability <= 100)
m_randomList.push_back(word);
cout<<"Add word:"<<word.getWord()<<endl;
cout<<"Probability:"<<m_sumOfProbability;
cout<<"-"<<word.getProbability() + m_sumOfProbability<<endl;
m_sumOfProbability += word.getProbability();
}
void RandomGenerate(int randNum)
{
cout<<"Random:"<<randNum<<endl;
int sum = 0;
for(int i = 0 ; i < m_randomList.size() ; i++)
{
RandomWord<T> orz = m_randomList[i];
if( (sum <= randNum) && (randNum < (orz.getProbability() + sum)))
{
cout<<"Generate:"<<orz.getWord()<<endl;
break;
}
else
{
sum += orz.getProbability();
}
}
}
};
int main (int argc, const char * argv[])
{
RandManager<char> manager;
manager.AddRandomWord(RandomWord<char>('A',10));
manager.AddRandomWord(RandomWord<char>('B',10));
manager.AddRandomWord(RandomWord<char>('C',35));
manager.AddRandomWord(RandomWord<char>('D',25));
manager.AddRandomWord(RandomWord<char>('E',20));
srand(time(NULL));
manager.RandomGenerate(rand()%100);
return 0;
}
相关推荐:
SEO薪资这些,你也能月入过万!,天水网站建设公司
为什么选择老域名工具?提升网站SEO与品牌影响力的秘密武器,软文与seo文章区别
ChatGPT国内版:为中国用户量身定制的智能助手,开启AI新纪元,ai文章赚钱
ChatGPT为什么用不了了?背后的真相揭秘!,ai写作专家收费吗
SEO优化攻略:如何通过精准策略提升网站排名与流量,aI ow翻译
seo适合什么行业,seo适合的行业 ,在ai如何矢量化
SEO精通:让你的内容在搜索引擎中脱颖而出,跨境电商 推广营销
什么是seo的豆子,何为seo ,ai圆复制
SEO刷:让你的网站一夜之间登顶搜索引擎!,独特seo技巧
什么是seo网络推广seo顾问,seo网络推广员 ,ai20170119
seo软件是什么职位,seo用的是什么软件 ,ai感知树
用AI修改文章,提升写作效率与质量的新时代
seo要学什么技术,seo要学什么技术好 ,ai.fale
文章写作AI:让创作更高效、精准的智能助手
seo该从什么开始,seo是什么时候开始的 ,ai写作免费英文怎么说
ChatGPT在处理文本时可能无法完全理解上下文的复杂性,肌肉ai
目前最火的AI软件有哪些?深度解析必备工具
SEO文案:如何通过巧妙布局提升网站排名,吸引更多流量,娄底网站建设工作文案
软件AI:颠覆未来的智能革命
seo网站页面优化包括什么,seo页面优化技术 ,no ai写作
ChatGPT维护-智能时代的数字助手,如何让你的工作更高效,ai智能救援
“赞片CMS”-让你的*站点管理更高效、便捷,日照seo平台
优化整站,让网站飞速增长,打造行业竞争力,广东网站建设与维护
AI自动生成:开启智能时代的无限可能,ai熊熊图片
“多网建站”助力企业跨越发展,开启全新数字化时代,海南网站优化电池
文章缩写AI:高效编辑的未来之光
seo网站排名优化哪家好,seo网站优化平台 ,ai斗蟋
seo网络培训是什么,seo工作培训会培训啥 ,ai长投影字
seo简介主要写什么,seo主要内容 ,AI弧线这
seo都有什么问题,seo都有什么问题和答案 ,ai凯旋公主下载
ChatGPT无法加载?检查您的网络设置并尝试重启,轻松解决常见问题!,ai招生广告设计
ChatGPT免费用户每天的使用限制:如何高效利用,突破困境!,花花制作ai
seo网站编辑是做什么,seo网站编辑可在家兼职 ,ai慢直播
360关键:打造全方位安全保护,守护您的数字世界,ai乘bi
SEO包含的秘密:让你的网站轻松排上首页,新媒体营销推广方案目录
SEO注意事项:助力网站流量提升的关键策略,济宁快速seo优化价格
SEO汇报:如何通过数据分析提升网站排名,助力企业业绩增长,免费推广网站大全百度经验
ChatGPT显示无法加载网站是怎么回事?解决方法!,glow将军ai
ChatGPT网站突然不能用了?如何快速解决这个问题,让你重新畅享AI对话!,ai新建多个画板
AI智能工具的无限可能:未来已来,你准备好了吗?
AI免费生成文字,打造创作新时代
seo规范是什么,seo行业标准 ,啊龙ai音乐
ChatGPT免登录:轻松畅聊,无需注册,快速体验AI智能助手,眼泪ai
seo竞价做的什么工作,seo 竞价 ,office智能ai
“收录量为1”,打造数字化时代的独特竞争力,网站建设页面制作流程
什么是seo优化营销,seo主要优化什么 ,ai绘画国风古韵
ChatGPT发生故障,背后隐藏着哪些不为人知的原因与挑战?,硬件ai和软件ai
为什么“未备案域名”会成为互联网行业中的重要问题?,江干区seo优化价格
“新关键词”开启智慧营销新篇章,助力品牌突围,自己如何做网站seo
为什么越来越多的人选择在知乎发布文章?这里面的机会你可能还没发现!,潍坊关键词排名提升