火车车厢重排.docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
火车车厢重排

#includeiostream using namespace std; struct Node{ int data; Node * next; }; class Queue { friend ostream operator(ostream os,const Queue cq); public: Queue(); Queue(int a[],int n); ~Queue(); void MakeEmpty(); void Enqueue(int newItem); int Dequeue(); int GetFirstItem() { if(front-next==NULL) { return -1; } return front-next-data; } int GetLastItem() { if(rear!=front) { return rear-data; } return NULL; } Node * front,* rear; private: }; Queue::Queue() { front=new Node; rear=front; front-next=NULL; } Queue::Queue(int a[],int n) { front=new Node; rear=front; front-next=NULL; for(int i=0;in;i++) { Enqueue(a[i]); } } Queue::~Queue() { MakeEmpty(); delete front; } void Queue::MakeEmpty() { while(front-next) { Dequeue(); } } void Queue::Enqueue(int newItem) { Node * s; s=new Node; s-data=newItem; s-next=NULL; rear-next=s; rear=s; } int Queue::Dequeue() { int x; if(rear==front) return NULL; Node * p; p=new Node; p=front-next; x=p-data; front-next=p-next; if(p-next==NULL) rear=front; delete p; return x; } ostream operator(ostream os,const Queue cq) { Node * p=cq.front-next; while(p){ osp-data ; p=p-next; } osendl; return os; } bool ChongPai(int a[],int n,int k) { int nowout=1; Queue *que; que= new Queue[n]; int x,j; Queue q(a,n); do { x=q.GetFirstItem(); if(x==nowout) { nowout++; que[k-1].Enqueue(x); q.Dequeue(); } else { for(j=0;jk;j++) { if(que[j].GetLastItem()==NULL) { que[j].Enqueue(x); q.Dequeue(); break; } if(que[j].GetLastItem()x) { que[j].Enqueue(x); q.Dequeue(); break; } } if(j=k-1) { cout车厢无法重排!endl; return false ; } } for(int m=0;mk-1;m++) { if(que[m].GetFirstItem()==nowout) { que[k-1].Enqueue(que[m].GetFirstItem()); que[m].Dequeue(); nowout++; } } if(que[k-1].GetLastItem()==n) { cout火车车厢入轨的顺序为:endl; coutque[k-1]; return t

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档