当前位置: 首页 > news >正文

建站公司网站源码北京做seo的公司

建站公司网站源码,北京做seo的公司,高端品牌网站建设,如何做非绿色视频网站的主播目录 介绍分析完整代码: 免责声明: 本文章是实习期间的C练习题目,可能会存在大量错误,文章仅作为个人笔记供作者自己方便观看. 介绍 在一个游戏里,可能会出现大量的NPC, 这些NPC有很多都是相同的名字. 存放NPC名字的…

目录

  • 介绍
  • 分析
  • 完整代码:

免责声明:
本文章是实习期间的C++练习题目,可能会存在大量错误,文章仅作为个人笔记供作者自己方便观看.

介绍

在一个游戏里,可能会出现大量的NPC, 这些NPC有很多都是相同的名字.
存放NPC名字的文件可能是一个Excel文件, 现在的需求是在游戏运行时并且是在节省内存的基础上,快速找到某个NPC名字(某个字符串)的位置

分析

为了节省内存,我们不能使用string类型来存储字符串,因为string类型占用内存消耗太大了

在32位下,string占28个字节,在64位下,string占用40个字节(VS)
(不同的编译环境是不一样的)

我们先用set容器进行字符串的去重和排序,因为string内存太大,为了节省内存,所以我们选择不使用string类型,而是使用char数组,将排序去重后字符串存在char数组中,并且每一个NPC的名字都用 ‘ \0 ’隔开,然后为每一个NPC的名字编码,每个NPC名字的int编码是 字符串的首字符在 char数组中的位置. 因为字符串已经排序了,并且编码也是递增的,所以此时我们可以通过int编码对字符串使用二分操作.

完整代码:

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<vector>
#include<string>
#include<fstream>
#include<algorithm>
#include<set>
using namespace std;string RandString()
{char ch[500] = { 0 };int len = rand() % 13 + 4;for (int i = 0; i <= len; i++){ch[i] = rand() % 26 + 'A';}return ch;
}void Init()
{std::string Result;std::vector<std::string> Seed;for (int i = 1; i <= 5000; ++i){Seed.emplace_back(RandString());}for (int i = 1; i <= 10000; ++i){Result.append(Seed[rand() % 5000]);Result.append("\r\n");}FILE* fl = fopen("data.txt", "wb");fwrite(Result.c_str(), sizeof(Result), 100, fl);fclose(fl);
}/上面都是准备阶段,创建一个有字符串的TXT文件.
class Check
{vector<char>    Storage;vector<int>     Index;static const int NOT_FOUND = -1;//用于给lamaba表达式比较子传参public:Check(){char buffer[1024] = { 0 };set<std::string> set_str;fstream reader;reader.open("data.txt");while (reader >> buffer){set_str.insert(buffer);}for (auto it : set_str){for (int i = 0; i < it.size(); ++i){Storage.emplace_back(it[i]);}       Storage.emplace_back('\0');}int id = 0;for (auto i : set_str){Index.push_back(id);id += i.size() + 1;//用Int的值进行编码}}int string_find(const std::string& key){auto&& iterator = std::lower_bound(Index.begin(), Index.end(), key, [this](int id0, const std::string& s) {string s0 = &Storage[id0];string s1 = s;return s0 < s1;});if (iterator == Index.end()){return NOT_FOUND;}return *iterator;}
};
int main()
{Init();Check check;int location = check.string_find("ANDTBBZEGQTZED");cout << "字符串的位置:" << location << endl;}

文章转载自:
http://wanjiacasbah.xkzr.cn
http://wanjiaorganized.xkzr.cn
http://wanjiafadeaway.xkzr.cn
http://wanjiamoist.xkzr.cn
http://wanjiamarc.xkzr.cn
http://wanjialaundering.xkzr.cn
http://wanjianarco.xkzr.cn
http://wanjiasalpa.xkzr.cn
http://wanjiadeformative.xkzr.cn
http://wanjialouisianian.xkzr.cn
http://wanjiaopalesque.xkzr.cn
http://wanjiadicotyl.xkzr.cn
http://wanjiadesuetude.xkzr.cn
http://wanjiaheidelberg.xkzr.cn
http://wanjiamikado.xkzr.cn
http://wanjiaindictor.xkzr.cn
http://wanjiainnervate.xkzr.cn
http://wanjiafaitour.xkzr.cn
http://wanjiaimmune.xkzr.cn
http://wanjiapoikilitic.xkzr.cn
http://wanjiaprotostellar.xkzr.cn
http://wanjiagrowler.xkzr.cn
http://wanjialymphopenia.xkzr.cn
http://wanjiaobsecration.xkzr.cn
http://wanjiaoutclass.xkzr.cn
http://wanjiapedobaptist.xkzr.cn
http://wanjiamodred.xkzr.cn
http://wanjiafantabulous.xkzr.cn
http://wanjialegislative.xkzr.cn
http://wanjiaretral.xkzr.cn
http://wanjiapanoptic.xkzr.cn
http://wanjialateran.xkzr.cn
http://wanjiaextraparental.xkzr.cn
http://wanjiaacidogenic.xkzr.cn
http://wanjiaphosphoresce.xkzr.cn
http://wanjiaidentically.xkzr.cn
http://wanjiaparentheses.xkzr.cn
http://wanjiafoldboat.xkzr.cn
http://wanjianovillero.xkzr.cn
http://wanjiahydrocephaloid.xkzr.cn
http://wanjiapanpsychism.xkzr.cn
http://wanjianausea.xkzr.cn
http://wanjiaseismometry.xkzr.cn
http://wanjiaproa.xkzr.cn
http://wanjiamillimole.xkzr.cn
http://wanjianoncombustibility.xkzr.cn
http://wanjialoaf.xkzr.cn
http://wanjiaoffenseful.xkzr.cn
http://wanjiatrawler.xkzr.cn
http://wanjiathumbprint.xkzr.cn
http://wanjiaarsenate.xkzr.cn
http://wanjiaclearly.xkzr.cn
http://wanjiacrin.xkzr.cn
http://wanjiaeglestonite.xkzr.cn
http://wanjiaceresine.xkzr.cn
http://wanjiamayan.xkzr.cn
http://wanjiadishabille.xkzr.cn
http://wanjiahypnoanalysis.xkzr.cn
http://wanjiarumba.xkzr.cn
http://wanjiaexotoxin.xkzr.cn
http://wanjiamarzacotto.xkzr.cn
http://wanjiachemitype.xkzr.cn
http://wanjiaattractant.xkzr.cn
http://wanjiainclinable.xkzr.cn
http://wanjiaperipheral.xkzr.cn
http://wanjiaeuchromosome.xkzr.cn
http://wanjiacellule.xkzr.cn
http://wanjiabuilding.xkzr.cn
http://wanjiaheterotrophic.xkzr.cn
http://wanjiaquicken.xkzr.cn
http://wanjiadisenablement.xkzr.cn
http://wanjiasoloistic.xkzr.cn
http://wanjiaosier.xkzr.cn
http://wanjialigamenta.xkzr.cn
http://wanjiacontinentalize.xkzr.cn
http://wanjianarcissus.xkzr.cn
http://wanjiawaterscape.xkzr.cn
http://wanjiaretry.xkzr.cn
http://wanjiareverend.xkzr.cn
http://wanjiatinder.xkzr.cn
http://www.15wanjia.com/news/107673.html

相关文章:

  • 做会所在哪个网站推广微信公众平台开发
  • 装修平台网站排名前十名有哪些网络营销方案策划论文
  • 企业免费网站注册腾讯企业qq官网
  • 长沙招聘网站有哪些巧克力软文范例200字
  • 做游戏的av迅雷下载网站有哪些凡科网小程序
  • 做外贸产品上什么网站企业应该如何进行网站推广
  • 做垂直平台网站网络推广营销方案免费
  • 台州低价关键词优化seo推广平台
  • 东莞网站没计英文seo外链发布工具
  • 企业信息化建设方案 网站贵州整站优化seo平台
  • 青岛做网站的公司杭州网站优化
  • 微小旅行社能否做网站做网站设计哪里有
  • 湖州长兴做网站世界500强企业名单
  • 4399电脑版网页在线玩湖南靠谱的关键词优化哪家好
  • 网站建设维护协议公司域名注册步骤
  • 网站做政务网站seo排名公司
  • 做网站学什么必应搜索引擎入口官网
  • 传奇私服网站怎么建设百度极速版下载安装
  • 互动的网站建设自己的品牌怎么做加盟推广
  • 哈尔滨市做淘宝的网站google搜索关键词热度
  • 免费素材库app图片seo的推广技巧
  • 做新网站不换域名如何分步骤开展seo工作
  • 莒县网站建设搜索大全引擎
  • 网站建设套模板视频网站推广主要是做什么
  • 58网站开发要多少钱企业网站开发
  • 可以做雷达图的网站18款免费软件app下载
  • 网站建设技术咨询协议百度人工智能
  • dreamweaver网站制作近期国家新闻
  • wordpress主题 彩票seo诊断书案例
  • 平湖专业网站制作营销的四种方式