关注我,持续分享逻辑思维&管理思维; 可提供大厂面试辅导、及定制化求职/在职/管理/架构辅导;
有意找工作的同学,请参考博主的原创:《面试官心得--面试前应该如何准备》,《面试官心得--面试时如何进行自我介绍》, 《做好面试准备,迎接2024金三银四》。
【图解《程序员面试常见的十大算法》及代码实现】
-------------------------------------正文----------------------------------------
关注我,分享常见编程面试题。
队列属于先进先出。这里定义两个下标,分别用来标识队列头hh和尾tt。通过移动下标的方式来管理这个队列的数据。
#include<iostream>
using namespace std;
int main()
{
int* q = new int [100000];
int hh,tt=-1;
int x;
string op;
do
{
cout << "请输入命令:push、pop、query、empty、quit"<<endl;
cin>>op;
if(op=="push")
{
//向队尾插入一个元素
cout << "请输入插入的数字:" << endl;
cin>>x;
q[++tt]=x;
}
if(op=="pop")
{
//向队头弹出一个数
cout << "已弹出队头的数" << endl;
hh++;
}
if(op=="empty")
{
//判断队列是否为空
if(tt>=hh)
{
cout<<"NO"<<endl;
}
else
{
cout<<"YES"<<endl;
}
}
if(op=="query")
{
//查询队头元素
cout << "队头的数是:" << q[hh]<<endl;
}
if(op=="quit")
{
break;
}
}while(1);
delete q;
return 0;
}
感兴趣的同学辛苦 关注/点赞 ,持续分享逻辑、算法、管理、技术、人工智能相关的文章。
博主其它经典原创:《管理心得--如何高效进行跨部门合作》,《技术心得--如何成为优秀的架构师》、《管理心得--如何成为优秀的架构师》、《管理心理--程序员如何选择职业赛道》,及
《C#实例:SQL如何添加数据》,《C#实战分享--爬虫的基础原理及实现》欢迎大家阅读