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

如何做查询网站seo关键技术有哪些

如何做查询网站,seo关键技术有哪些,河南造价信息网,如何注销网站备案负责人1. 标准库中的stack stack 的介绍: 1. stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行 元素的插入与提取操作 2. stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其…

1. 标准库中的stack

stack 的介绍:

1. stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行 元素的插入与提取操作

2. stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出

3. stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类

a. stack 的使用

注意:

如果要访问所有元素得到栈顶元素,再pop,直到为空

2. stack的模拟实现

代码

namespace lhy
{ template<class T,class container = vector<T>>class stack{public:void push(const T& x){_t.push_back(x);}void pop(){_t.pop_back();}size_t size(){return _t.size();}bool empty(){return _t.empty();}const T& top(){return _t.back();}private:container _t;};

//用法很像缺省参数,不过这里缺省的是类型

3. 标准库中的queue

queue 的介绍:

1. 队列是一种容器适配器,专门用于在FIFO上下文(先进先出)中操作,其中从容器一端插入元素,另一端提取元素

2. 队列作为容器适配器实现,容器适配器即将特定容器类封装作为其底层容器类,queue提供一组特定的成员函数来访问其元素。元素从队尾入队列,从队头出队列

3. 底层容器可以是标准容器类模板之一,也可以是其他专门设计的容器类

a. queue 的使用

4. queue的模拟实现

代码

namespace lhy
{ template<class T,class container = list<T>>class queue{public:void push(const T& x){_v.push_back(x);}void pop(){_v.pop_front();}bool empty(){return _v.size() == 0;}const T& back(){return _v.back();}const T& front(){return _v.front();}size_t size(){return _v.size();}private:container _v;};

5. priority_queue (优先级队列)

优先级队列的介绍:

优先级队列默认使用vector作为其底层存储数据的容器,在vector上又使用了堆算法将vector中元素构造成堆的结构

因此priority_queue就是堆,所有需要用到堆的位置,都可以考虑使用priority_queue

注意:

默认情况下priority_queue是大堆

a. priority_queue 的使用

  • priority_queue() (无参构造函数)
  • priority_queue(InputIterator first, InputIterator last)
  • empty() (判空)
  • push() (尾插)
  • pop () (删除栈顶元素,即第一个元素)
  • top() (返回栈顶元素)

6. priority_queue 的模拟实现

代码

namespace lhy
{template<class T>struct less{bool operator()(const T& x, const T& y){return x > y;}};template<class T>struct greater{bool operator()(const T& x, const T& y){return x < y;}};template<class T, class container = vector<T>, class compare = less<T>>class priority_queue{private:container con;void AdjustUp(int child){int parent = (child - 1) / 2;while (child > 0){if (compare()(con[parent], con[child])){std::swap(con[parent], con[child]);}else{break;}child = parent;parent = (child - 1) / 2;}}void AdjustDown(int parent){int child = parent * 2 + 1;while (child < size()){if (child + 1 < size() && con[child] > con[child + 1]){child++;}if (compare()(con[parent], con[child])){std::swap(con[parent], con[child]);}else{break;}parent = child;child = parent * 2 + 1;}}public:size_t size(){return con.size();}void push(const T & x){con.push_back(x);AdjustUp(size() - 1);}void pop(){swap(con[0], con[size() - 1]);con.pop_back();AdjustDown(0);}bool empty(){return con.empty();}const T& top(){return con[0];}};
}

代码注意事项

这两个类实际上又可以说成伪函数,这里通过比较大小判断建大堆还是小堆

用法如下:

compare()是匿名对象,后面接着是调用 less 类 或者 greater 类的运算符重载()

http://www.dinnco.com/news/21247.html

相关文章:

  • 网站建设经验与教训佛山网站优化服务
  • 重庆三环建设监理咨询有限公司网站厦门seo外包公司
  • 那间公司做网站好百度联系方式
  • 做网站那里好市场营销教材电子版
  • 外贸电商东莞seo计费
  • 涿州网站建设建网站软件
  • 搭建网站需要哪些东西友情链接的方式如何选择
  • 公司做网站有用吗最新疫情新闻100字
  • 做网站样本电销好做吗郑州百度seo
  • asp网站后台密码文件西安疫情最新消息1小时内
  • 新闻网站个人可以做吗百度优化
  • 个人网站建设哪家快seo是怎么优化
  • 网站定制开发一般多久武汉搜索推广
  • 重庆承越网站建设地址百度联盟怎么加入赚钱
  • 成都网站seo推广win11优化大师
  • 用什么软件做网站最好全网引流推广
  • 做网站设计最好的公司优化排名推广教程网站
  • 潍坊公司网站制作东莞网站建设推广平台
  • 网站入股云建站html网页制作模板代码
  • 流量统计网站推广法网站建设全包
  • 网站制作_做网站_耐思智慧百度100%秒收录
  • 哪家公司做门户网站搜狗推广登录入口
  • 支持asp的免费空间 适合钓鱼网站南宁网站推广公司
  • 女人和男人做爰网站如何开一个自己的网站
  • 个人音乐类网站服务器租借爱站网排名
  • 个人网站源码下载百度引流推广怎么收费
  • 常用的搜索引擎网站爱站工具
  • 度娘网站灯笼要咋做呢西安网站设计开发
  • 外包做网站平台 一分钟电脑培训班多少费用
  • 湛江搭建做网站在哪里做网络口碑营销的成功案例