无论如何调度,我们的操作都是入栈和出栈,设定入栈为1.doc

无论如何调度,我们的操作都是入栈和出栈,设定入栈为1.doc

ID:52016848

大小:26.00 KB

页数:3页

时间:2020-03-21

无论如何调度,我们的操作都是入栈和出栈,设定入栈为1.doc_第1页
无论如何调度,我们的操作都是入栈和出栈,设定入栈为1.doc_第2页
无论如何调度,我们的操作都是入栈和出栈,设定入栈为1.doc_第3页
资源描述:

《无论如何调度,我们的操作都是入栈和出栈,设定入栈为1.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、无论如何调度,我们的操作都是入栈和出栈,设定入栈为1,出栈为0,对n列车  厢有2n次这样的操作,例如n=4,则有操作11110000、10101010等,于是我们有  理由构造一个操作命令队列b[],注意这个队列中有三个要求:  1.其中1和0的数目要相等,代表入栈和出栈操作完整  2.从左往右1的数目一定不能小于0的数目,否则没有栈中元素可以弹  3.数列第一个元素一定为1,最后一个一定为0,数列从10101010开始,    到11110000结束,但是我这里为了方便从10000000开始到11110000    在

2、我的程序中,也是为了方便(我很懒吧),只考虑中间6位,开头    和结尾的数据没有必要考虑  于是按照这样的操作,我们形成了车厢的任意组合的输出情况   #include  #include    class Stack  {  private:  int a[100];  int i;  public:  Stack():i(0) { };  void push(int d)  {  a[i]=d;  i++;  if (i>=100) {  cerr<<"There is n

3、o space"<0) {  i--;  return a[i];  } else {  return -1;  }  };  };   #include"Stack.h"  #define tracknumber    #define max tracknumber*2 int b[max];    bool check()  {  Stack s;  int l=0;  for(int a=0;a

4、 (b[a]==1) {l++;}    if (l!=tracknumber)   {return false;}  for(a=0;a

5、}  else {cout<

6、=2) {b[i]=0;cf=1;}  while(cf==1 && i>0)  {  i--;  b[i]++;  cf=0;  if (b[i]==2) {b[i]=0;cf=1;}  }  if (check()==true) { out();}   i=max-2;  }  };    void main()  {  b[0]=1;  b[7]=0;  give();  }

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。