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

栈和队列的相关经典题目

1.怎么用两个栈来模拟实现一个队列

代码实现:

typedef char ELEMTYPE;
typedef struct TwoStack_toQueue//
{stack<ELEMTYPE> S1;//栈1stack<ELEMTYPE> S2;//栈2
}TwoStack_toQueue;typedef struct TwoQueue_toStack
{queue<ELEMTYPE> Q1;queue<ELEMTYPE> Q2;
}TwoQueue_toStack;//1.用两个栈来模拟实现一个队列
//入队
bool Push_TSTQ(TwoStack_toQueue* tstq, ELEMTYPE ch)
{tstq->S1.push(ch);return true;
}//出队
bool Pop_TSTQ(TwoStack_toQueue* tstq)
{if (tstq->S1.empty() && tstq->S2.empty())//先保证有元素return false;if (tstq->S2.empty())//看看栈2空不空{while (!tstq->S1.empty())//当栈1空了就停 直到将栈1数据全部导完{//将S1中的数据放到S2中 下面是只放一个数据的操作ELEMTYPE tmp = tstq->S1.top();tstq->S1.pop();tstq->S2.push(tmp);}}printf("%c\n", tstq->S2.top());tstq->S2.pop();return true;
}//1.用两个栈来模拟实现一个队列//测试用例
int main()
{TwoStack_toQueue head;Push_TSTQ(&head, 'A');Push_TSTQ(&head, 'B');Push_TSTQ(&head, 'C');Pop_TSTQ(&head);//APush_TSTQ(&head, 'D');Push_TSTQ(&head, 'E');Pop_TSTQ(&head);//BPop_TSTQ(&head);//CPop_TSTQ(&head);//DPop_TSTQ(&head);//Ereturn 0;
}

2.怎么用两个栈来模拟实现一个队列

//2.用两个队列来模拟实现一个栈
//入栈
bool Push_TQTS(TwoQueue_toStack* tqts, ELEMTYPE ch)
{tqts->Q1.push(ch);return true;
}
//出栈
bool Pop_TQTS(TwoQueue_toStack* tqts)
{if (tqts->Q1.empty() && tqts->Q2.empty())return false;if (!tqts->Q1.empty()){int size = (int)tqts->Q1.size();//3 ABCfor (int i = 0; i < size - 1; i++)//{ELEMTYPE tmp = tqts->Q1.front();tqts->Q1.pop();tqts->Q2.push(tmp);}printf("%c\n", tqts->Q1.front());tqts->Q1.pop();return true;}else{int size = (int)tqts->Q2.size();for (int i = 0; i < size - 1; i++)//{ELEMTYPE tmp = tqts->Q2.front();tqts->Q2.pop();tqts->Q1.push(tmp);}printf("%c\n", tqts->Q2.front());tqts->Q2.pop();return true;}}
//模拟实现 获取栈顶元素值这个函数 特别注意一下
//2.用两个队列来模拟实现一个栈//测试用例
int main()
{TwoQueue_toStack head;Push_TQTS(&head, 'A');//APush_TQTS(&head, 'B');//ABPush_TQTS(&head, 'C');//ABCPop_TQTS(&head);    //ABC->ABPush_TQTS(&head, 'D'); //ABDPush_TQTS(&head, 'E'); //ABDEPop_TQTS(&head);//ABDE->ABDPop_TQTS(&head);//ABD->AB}

http://www.dtcms.com/a/454625.html

相关文章:

  • 2018年做淘宝客网站还能挣钱吗6wordpress所有人提问
  • 【无标题】高校信息化
  • python做网站源码做视频网站用什么好
  • 广州 网站定制定制开发电商网站建设公司
  • app优化枫林seo工具
  • AssemblyScript 入门教程(6):process全局对象
  • 兴义市住房城乡建设局网站温州建设监理协会网站
  • 网站什么内容网站备案前置审批文件
  • FastDFS分布式文件系统
  • 动态规划 - 背包问题
  • 科耐美安维可三文鱼焕颜精华液问世:妆字号无创水光引领护肤新趋势
  • dede减肥网站源码酒店建筑设计网站
  • 网站模板紫色网站做任务包括什么
  • 双等位基因:遗传学中的核心概念、分子机制与跨领域应用解析--随笔13
  • 广丰区建设局网站什么软件可以免费引流
  • 个人网站可以做信息网站吗专业网站建设办公
  • 百度云域名买了之后建设网站免费网站空间可访问
  • 制作动画的网站模板如何用运行打开wordpress
  • 北京模板网站开发北京注册公司规定
  • 江苏省住房和城乡建设局网站首页磁业 东莞网站建设
  • 建设校园网站的好处专业团队介绍文案
  • 儿童早教网站模板建设网站要那些
  • 淘宝客如何做自己的网站网架加工费多少钱一吨
  • 什么做婚车网站最大wordpress 点击弹出层
  • 网站建设丂金手指科杰新兴街做网站公司
  • (四) Dotnet为AI控制台添加日志输出
  • php做企业网站管理系统购物网站制作公司
  • Shell test 命令详解
  • html网站素材网网站建设课程设计文献综述
  • 现在还做自适应网站网站设计要学什么