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

怎么利用代码做网站写作网站六大神书

怎么利用代码做网站,写作网站六大神书,WordPress实现登陆提醒,wordpress主题演示站点1#xff1a;如何只使用stack实现queue呢#xff1f;我们知道stack是先进后出的#xff08;FIFO#xff09;#xff0c;而queue是先进先出的#xff08;FIFO#xff09;。也就是说#xff0c;stack进行了一次反向。如果进行两次反向#xff0c;就能实现queue的功能如何只使用stack实现queue呢我们知道stack是先进后出的FIFO而queue是先进先出的FIFO。也就是说stack进行了一次反向。如果进行两次反向就能实现queue的功能所以我们需要两个stack实现queue。     下面是具体思路。 假设有两个栈A和B且都为空。可以认为栈A为提供入队列的功能栈B提供出队列的功能。 1如果栈B不为空直接弹出栈B的数据。 2如果栈B为空则依次弹出栈A的数据放入到栈B中再弹出栈B的数据。 代码如下 #include stdafx.h #includemalloc.h #include iostream #include assert.h using namespace std;/*单链表的节点data表示节点的数据域next指向下一个节点*/ class MyData { public:MyData() :data(0), next(NULL) {};//默认构造函数这样表示后主体中不用再写这个函数了MyData(int value) :data(value), next(NULL) {};//带参数的构造函数int data;//数据域MyData *next;//下一个节点 };/*表示栈的定义其中public成员top表示栈顶由于不能直接操作栈底因此这里没有定义栈底的指针。 在默认构造函数中把栈顶指针top置空表示此时栈为空栈。*/ class MyStack { public:MyStack() :top(NULL) {};//默认构造函数void push(MyData data);//进栈void pop(MyData *pData);//出栈bool IsEmpty();//是否为空栈MyData *top;//栈顶 };class MyQueue { public:void enqueue(MyData data);//入队void dequeue(MyData data);//出队bool IsEmpty();//是否为空队 private:MyStack s1;//用于入队MyStack s2;//用于出队 };//进栈 void MyStack::push(MyData data) {MyData *pData NULL;pData new MyData(data.data);//生成新节点pData-next top;top pData; }//判断栈是否为空 bool MyStack::IsEmpty() {return(top NULL);//如果top为空则返回1否则返回0 }//出栈 void MyStack::pop(MyData *data)//将删除的节点保存到data中 {if (IsEmpty())//如果栈为空直接返回{return;}data-data top-data;//给传出的参数赋值MyData *p top;//临时保存原栈顶节点top top-next;//移动栈顶指向下一个节点delete p;//释放原栈顶节点内存 }//入队 void MyQueue::enqueue(MyData data) {s1.push(data);//只对s1进行操作 }//出队 void MyQueue::dequeue(MyData data) {MyData temp(0);//局部变量用于临时存储if (s2.IsEmpty()){while (!s1.IsEmpty())//如果s2为空把s1的所有元素push到s2中{s1.pop(temp);//弹出s1的元素s2.push(temp);//压入s2中}}if (!s2.IsEmpty()){s2.pop(data);//此时s2不为空则弹出s2的栈顶元素} }//队列判空 bool MyQueue::IsEmpty() {//如果两个栈都为空则返回1否则返回0return(s1.IsEmpty() s2.IsEmpty()); } int main() {MyData data(0);//定义一个节点MyQueue q;q.enqueue(MyData(1));q.enqueue(MyData(2));q.enqueue(MyData(3));q.dequeue(data);cout dequeue data.data endl;q.dequeue(data);cout dequeue data.data endl;q.dequeue(data);cout dequeue data.data endl;cout IsEmpty: q.IsEmpty() endl;return 0; } View Code 运行结果 转载于:https://www.cnblogs.com/lovemi93/p/7607203.html
http://www.huolong8.cn/news/355263/

相关文章:

  • 河北住房建设厅网站首页安装iis8 添加网站
  • 网站的规划与建设课程设计网页上本地网站搜索怎样做
  • 郑州网站开发培训班苏州专业高端网站建设公司
  • 东仓建设网站杭州网站网络 科技公司
  • 英语营销型网站建设苏州自助建站模板
  • 怎么快速优化网站排名做网站一定要买服务器么
  • 网站域名 被别人备案想在网上做外卖 上什么网站好
  • 广州网站开发设计公司网站通知模板
  • 青岛模板网站企业所得税的计算公式三种
  • 制作网站的花多少钱网站从建设到运行要多少
  • 做设计的地图网站wordpress 插件 用户中心
  • 和先锋影音和做的网站开公司核名的网址
  • wordpress移动插件推荐seo关键词优化
  • 发帖那个网站好 做装修的手机网站建设需求分析
  • 怎么快速开发一个网站wordpress有用户主页吗
  • 网站用什么平台开发惠通网站建设
  • 会ps的如何做网站WordPress 图片翻页
  • 外贸网站搭建服务商企业网站模板免费下载企业网站模板
  • wordpress 网站费用wordpress dux主题5.0
  • 合肥专业做网站公司有哪些wordpress原创公司主题
  • 济南商城网站开发wordpress微商城模板
  • 荥阳网站建设价格网站服务端做处理跨域
  • app网站怎么制作wordpress查看访问ip
  • No餐饮网站建设房山网站建设服务
  • 网站多ip 建设网站建设和管理规则
  • 有哪些是外国人做的网站吗建网站的公司哪个好
  • dede企业网站模板邮箱登录
  • 此网站不支持下载视频怎么办营口电商网站建设
  • 贵州新站优化高港区企业网站建设
  • 站长网站后台阿勒泰网站建设