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

营销型网站一个多少钱2023重大新闻事件10条

营销型网站一个多少钱,2023重大新闻事件10条,wordpress添加qq交谈,网站卡的原因目录 队列的概念 队列的静态实现 总代码 stl的queue 队列算法题 1.队列模板题 2.机器翻译 3.海港 双端队列 队列的概念 和栈一样,队列也是一种访问受限的线性表,它只能在表头位置删除,在表尾位置插入,队列是先进先出&…

目录

队列的概念

队列的静态实现

总代码

stl的queue

队列算法题

1.队列模板题

2.机器翻译

3.海港

双端队列


队列的概念

和栈一样,队列也是一种访问受限的线性表,它只能在表头位置删除,在表尾位置插入,队列是先进先出(FIFO)栈是后进先出(LIFO)

队列的静态实现

我们用一个比较大的数组来表示队列,h表示队头的前一个元素,t表示队尾元素

队列的创建

#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int q[N], h, t;

队列的插入

void push(int x)
{q[++t] = x;
}

和顺序表的尾插差不多,时间复杂度是O(1)

队列的删除

我们的删除直接让头指针向前移动一位就行了

void pop()
{h++;
}

查询队头元素

h指向的是队头的前一个元素的下标,所以h+1是队头的下标

int front()
{return q[h + 1];
}

查询队尾元素

t就是队尾元素的下标

int back()
{return q[t];
}

队列判空

当我们只剩一个元素的时候,h指向这个元素的前面,t指向这个元素,如果删除的话,h++ h就和t相等了,这和我们刚开始没有元素的状态也是一致的,所以h==t就是我们判断队列为空的要点

bool empty()
{return h == t;
}

队列有效元素个数

由于我们h和t是左开右闭的,所以t-h就是中间的元素个数,比如h指向1,t指向3的时候,下标2,3就是我们的元素,3-1=2就是元素个数是一致的

int size()
{return t - h;
}

测试

总代码

#include <iostream>
using namespace std;
const int N = 1e5 + 10;
int q[N], h, t;
void push(int x)
{q[++t] = x;
}
void pop()
{h++;
}
int front()
{return q[h + 1];
}
int back()
{return q[t];
}
bool empty()
{return h == t;
}
int size()
{return t - h;
}
int main()
{for (int i = 1; i <= 10; i++){push(i);}while (size()){cout << front() << " " << back() << endl;pop();}return 0;
}

stl的queue

测试代码

#include <iostream>
#include <queue>
using namespace std;
typedef pair<int, int> PII;
int main()
{queue <PII> q;for (int i = 1; i <= 10; i++){q.push({ i,i * 10 });}while (!q.empty()){auto t = q.front();int first = t.first;int second = t.second;cout << first << " " << second << endl;q.pop();}}

测试结果

队列算法题

1.队列模板题

#include <iostream>
using namespace std;
const int N = 1e4+10;
int q[N],h,t;int main()
{int n,op,x;cin >> n;while(n--){cin >> op;if(op == 1){cin >> x;q[++t] = x;}else if(op == 2){if(t-h == 0) cout << "ERR_CANNOT_POP" << endl;else h++;}else if(op == 3){if(t-h == 0) cout << "ERR_CANNOT_QUERY" << endl;else cout << q[h+1] << endl;}else{cout << t-h << endl;}}
}

2.机器翻译

我们可以用队列来模拟这个内存存储的单元格,此外我们还需要一个bool数组来判断某个单词在不在内存中

下面是我们的实现的代码

#include <iostream>
#include <queue>
using namespace std;
const int N = 1010;
bool st[N];
int cnt;
queue <int> q;
int main()
{int n,m;cin >> m >> n;while(n--){int x; cin >> x;if(st[x]);else{q.push(x);st[x] = true;cnt++;if(q.size() > m){st[q.front()] = false;q.pop();}}}cout << cnt << endl;
}

3.海港

这道题我们用队列来模拟,我们用一个数组来记录每个国家的人数,当每个国家从0变1时,种类加1,从1变0时,种类减1

先把每个船的信息入队列,用pair类型,<时间,国家>来入队列,每次入队列判断种类是否加1

每个船的信息入完了之后,要判断队列合不合法,如果队头的时刻和队尾的时刻差值超过24小时,我们就要把第一个时刻的信息出队列,出队列的时候再次判断要不要让种类减1

每次一个信息弄完就打印一下种类

#include <iostream>
#include <queue>
using namespace std;
const int N = 1e5+10;
typedef pair<int,int> PII;
int t,k;
int cnt[N];//记录每个国家的人数,从0到1时种类加1,从1到0时种类减1,其他不变 
int kinds;//记录国家种类 
queue <PII> q;
int main()
{int n;cin >> n;while(n--){cin >> t >> k;while(k--){int x;cin >> x;q.push({t,x});if(cnt[x]++ == 0){kinds++;}}//让队列合法while(q.size() && (q.back().first - q.front().first >= 86400)) {int tmp;tmp = q.front().second;if(cnt[tmp]-- == 1){kinds--;}q.pop();}cout << kinds << endl;}	return 0;} 

双端队列

什么是双端队列?

双端队列也是一种特殊的线性表,它允许在表的两端插入和删除元素

我们就不实现它的模拟实现了

我们直接用stl现成的双端队列deque测试一下

头插头删

#include <iostream>
#include <deque>
using namespace std;
struct node {int x, y, z;
};
deque <node> q;
int main()
{//头插和头删for (int i = 1; i <= 5; i++){q.push_front({ i,i * 5,i * 10 });}while (q.size()){auto t = q.front();q.pop_front();cout << t.x << " " << t.y << " " << t.z << endl;}
}

同理尾插和尾删

#include <iostream>
#include <deque>
using namespace std;
struct node {int x, y, z;
};
deque <node> q;
int main()
{//尾插和尾删for (int i = 1; i <= 5; i++){q.push_back({ i,i * 5,i * 10 });}while (q.size()){auto t = q.back();q.pop_back();cout << t.x << " " << t.y << " " << t.z << endl;}
}

http://www.mnyf.cn/news/16094.html

相关文章:

  • 玩具网站模板长尾词挖掘免费工具
  • 怎么网站显示翻页代码360指数查询工具
  • 山西手动网站建设推广图片百度搜索
  • 太原网站建设优化济宁百度推广价格
  • 国内优秀网站欣赏优化大师下载安装
  • 网站空间管理面板中国人民银行网站
  • 石油网页设计与网站建设东莞做网站推广公司
  • 芜湖做网站需要多少钱营销软文500字范文
  • 网站快照优化怎么做百度贴吧人工客服
  • 网站排名seo网站外链出售
  • 公司官网如何更新网站武汉seo收费
  • 网站建设技术解决方案什么平台引流最快
  • 网站建设公司广州东营网站建设
  • 智慧团建密码只能是8位吗衡阳seo优化
  • aspcms网络公司官方网站源码win7优化大师下载
  • 人才招聘网最新招聘信息深圳关键词优化报价
  • 上海58同城官网长沙seo平台
  • 雅安做网站seo工资待遇 seo工资多少
  • 异构国际设计公司网站长春seo网站优化
  • 做一手房用什么网站好逆冬seo
  • 免费模板下载网站推荐沈阳关键词快照优化
  • 长沙建筑模板厂家重庆seo整站优化方案范文
  • 正能量不良网站推荐2020推广链接让别人点击
  • b2c有哪些企业seo关键词排名教程
  • wordpress 折叠菜单优化大师app下载
  • 厦门网站设计推广公司网络推广培训班
  • 群晖wordpress更改端口浙江关键词优化
  • 河南省住房建设厅网站合肥网站推广优化
  • 网站建设新闻什么是百度指数
  • 网站建设费用优化搜索引擎的方法