狠狠干影院/欧美午夜电影在线观看/高黄文/国产精品一区二区在线观看完整版

隊(duì)列實(shí)驗(yàn)報(bào)告

| 瀏覽次數(shù):

 一.實(shí)驗(yàn)項(xiàng)目名稱

 循環(huán)隊(duì)列和鏈?zhǔn)疥?duì)列的創(chuàng)建 二、實(shí)驗(yàn)?zāi)康?1、掌握隊(duì)列的特點(diǎn)(先進(jìn)先出 FIFO)及基本操作,如入隊(duì)、出隊(duì)等, 2、隊(duì)列順序存儲結(jié)構(gòu)、鏈?zhǔn)酱鎯Y(jié)構(gòu)和循環(huán)隊(duì)列的實(shí)現(xiàn),以便在實(shí)際問題背景下靈活應(yīng)用。

 三、實(shí)驗(yàn)內(nèi)容 1.鏈?zhǔn)疥?duì)列的實(shí)現(xiàn)和運(yùn)算 2.循環(huán)隊(duì)列的實(shí)現(xiàn)和運(yùn)算 四、主要儀器設(shè)備及耗材 VC++6.0 運(yùn)行環(huán)境實(shí)現(xiàn)其操作 五.程序算法 (1) 循環(huán)隊(duì)列操作的算法 1> 進(jìn)隊(duì)列 Void

 enqueue (seqqueue

 &q, elemtype

 x) {

 if ((q.rear+1)%maxsize = = q.front)

 cout<<”overflow”; else

 {

  q.rear=(q.rear+1)%maxsize; //編號加 1 或循環(huán)

  回第一個(gè)單元

  q.queue[q.rear]=x;

 } } 2> 出隊(duì)列 Void

 dlqueue(seqqueue

 &q ) {

 if (q.rear= =q.front)

 cout<<”underflow”;

 else

  q.front =(q.front+1)%maxsize; } 3> 取對頭元素

 elemtype

 gethead(seqqueue q ) { if

 (q.rear= =q.front)

 { cout<<”underflow”;

 return

 NULL;}

  else

  return

  q.queue[(q.front+1)%maxsize];

 //front 指向隊(duì)頭前一個(gè)位置 } 4> 判隊(duì)列空否

  int empty(seqqueue q ) {

  if

 (q.rear= =q.front)

 reurn 1;

 else return 0;

 } (2).鏈隊(duì)列操作的算法 1> . 鏈隊(duì)列上的初始化

  void

  INIQUEUE( linkqueue

  &s)

  {

  link

 *p;

  p=new

 link;

  p->next=NULL;

  //p 是結(jié)構(gòu)體指針類型,用->

  s.front=p;

 //s 是結(jié)構(gòu)體變量,用.

  s.rear=p;

 //頭尾指針都指向頭結(jié)點(diǎn) } 2>. 入隊(duì)列 void

 push(linkqueue &s, elemtype

 x) {

  link

  *p;

 //p 是結(jié)構(gòu)體指針類型,用->

 p=new

 link;

  p->data=x;

 p->next=s.rear->next;

  //s 是結(jié)構(gòu)體變量,用.

 s.rear->next=p;

  s.rear=p;

 //插入最后 } 3> 判隊(duì)空 int

 empty( linkqueue

 s ) {

 if (s.front= =s.rear) return 1;

  else return 0; } 4>. 取隊(duì)頭元素

 elemtype

 gethead( linkqueue s ) {

  if (s.front= =s.rear)

 return

 NULL;

 else

 retuen

 s.front->next->data; }

 5>.出 出 隊(duì)列

 void

 pop(linkqueue &s) {

 link

 *p;

 p=s.front->next; if (p->next= =NULL)//鏈隊(duì)列中只有一個(gè)元素,需要修改 rear 指針

  {

  s.front->next=NULL;

 s.rear=s.front;} else

  s.front->next =p->next;//rear 不用變 delete (p); } 六 六. 程序源代碼 a. 循環(huán)隊(duì)列源代碼 #include<iostream.h> #define MAXN

 20 struct seq { char queue[MAXN]; int front

 , rear;

 };

 void iniq(seq

 &q) {

 q.front=q.rear=MAXN-1; }

 void enq(seq &q,char x) {

 if((q.rear+1)%MAXN==q.front)

  cout<<"overflow";

 else {

 q.rear=(q.rear+1)%MAXN;

 q.queue[q.rear]=x;

 } //return(0); } void dlq(seq &q) { if (q.rear == q.front) cout<<"underflow"; else

 q.front=(q.front+1)%MAXN; }

  int gethead(seq &q)

 //取隊(duì)頭元素

  {if (q.rear == q.front)

 //判斷是否隊(duì)列為空 cout<<"underflow"; else return q.queue[(q.front+1)%MAXN]; }

 main() {seq

 q; int i,y; iniq(q); cout<<"輸入元素入隊(duì) 0 為止"<<endl; cin>>i; while(i) { enq( q,i); cin>>i;

 } y=gethead( q); cout<<"隊(duì)頭為="<<y<<endl; dlq( q); y=gethead( q); cout<<"執(zhí)行一次刪除隊(duì)頭后,隊(duì)頭為="<<y<<endl; } b. 鏈隊(duì)列的源代碼 #include <iostream.h>

 typedef struct QNode {

  char data;

  QNode *next;

  }QNode,*QueuePtr;

 typedef struct {

  QueuePtr front;

 QueuePtr rear; }LinkQueue;

 InitQueue(LinkQueue &Q) {

  Q.front=Q.rear=new QNode;

 Q.front->next=NULL;

 return 0; }

 EnQueue(LinkQueue &Q,char e) {

 QueuePtr p;

  p=new QNode;

 p->data=e;

 p->next=NULL;

 Q.rear->next=p;

 Q.rear=p;

 return 0; }

 void disp(LinkQueue &Q) //打印隊(duì)列

 {

 QueuePtr p;

 p=Q.front->next;

 while(p!=NULL)

  {

  cout<<p->data<<"->";

 p=p->next;

 }

  }

 DeQueue(LinkQueue &Q,char &e) {

  QueuePtr p;

  if(Q.front==Q.rear)return 1;

 p=Q.front->next;

  e=p->data;

 Q.front->next=p->next;

 if(Q.rear==p)

  Q.rear=Q.front;

 delete p;

 return 0; }

 void main()

 {

  LinkQueue Q;

 char e,e1;

  InitQueue(Q);

 cout<<"輸入隊(duì)列元素,0 時(shí)結(jié)束:"<<endl;

 cin>>e;

 while(e!="0"){

  EnQueue(Q,e);

  cin>>e;

  }

 cout<<"隊(duì)列為:"<<endl;

 disp(Q);

 DeQueue(Q,e1);

 cout<<endl<<"執(zhí)行一次刪除隊(duì)頭,刪除的元素是:"<<e1<<endl;

 cout<<"隊(duì)列為:"<<endl;

 disp(Q);

 cout<<endl; } 六.程序輸入數(shù)據(jù)及實(shí)驗(yàn)結(jié)果 a.循環(huán)隊(duì)列實(shí)驗(yàn)結(jié)果

  c. 鏈隊(duì)列實(shí)驗(yàn)結(jié)果

 七、思考討論題或體會或?qū)Ω倪M(jìn)實(shí)驗(yàn)的建議

 (1)體會 a.C++語言知識不懂,需要好好學(xué)習(xí); b.對單鏈表不夠熟悉,要多練習(xí)創(chuàng)建單鏈表及其基本操作。

 八、參考資料 a.《數(shù)據(jù)結(jié)構(gòu)》 李根強(qiáng)主編

  中國國水利水電出版社 b.《C++語言程序設(shè)計(jì)》 鄭莉

 董淵 何江舟編

 清華大學(xué)出版社

推薦訪問: 隊(duì)列 實(shí)驗(yàn) 報(bào)告

【隊(duì)列實(shí)驗(yàn)報(bào)告】相關(guān)推薦

工作總結(jié)最新推薦

NEW
  • 同志們:今天這個(gè)大會,是市委全面落實(shí)黨要管黨、從嚴(yán)治黨要求的一項(xiàng)重大舉措,也是對縣市區(qū)委書記履行基層黨建工作第一責(zé)任人情況的一次集中檢閱,同時(shí)是對全市基層黨建工作的一次再部署、再落實(shí)的會議。前面,**

  • ***年,我認(rèn)真履行領(lǐng)班子、帶隊(duì)伍、抓黨員、保穩(wěn)定的基層黨建工作思路,以學(xué)習(xí)貫徹習(xí)近平新時(shí)代中國特色社會主義思想和黨的十九大歷次全會精神為主線,以市局基層黨建工作考核細(xì)則為落腳點(diǎn),落實(shí)全面從嚴(yán)治黨主體

  • 根據(jù)會議安排,現(xiàn)將2022年履行抓基層黨建工作職責(zé)情況報(bào)告如下:一、履職工作特色和亮點(diǎn)1 突出政治建設(shè),著力在思想認(rèn)識上提高。牢固樹立抓黨建就是抓政績的理念,以“黨建工作抓引領(lǐng)、社區(qū)治理求突破,為民服

  • 2022年以來,在**黨委的正確領(lǐng)導(dǎo)下,堅(jiān)持以習(xí)近平新時(shí)代中國特色社會主義思想為指導(dǎo),深入學(xué)習(xí)宣傳貫徹黨的二十大精神,以黨建工作為統(tǒng)領(lǐng),扎實(shí)開展夯實(shí)“三個(gè)基本”活動(dòng),以“四化四力”行動(dòng)為抓手,聚力創(chuàng)建

  • 各位領(lǐng)導(dǎo),同志們:根據(jù)會議安排,現(xiàn)就2022年度抓基層黨建工作情況匯報(bào)如下:一、主要做法及成效(一)強(qiáng)化政治引領(lǐng)。一是不斷強(qiáng)化理論武裝。堅(jiān)持通過黨組會、中心組學(xué)習(xí)會和“三會一課”,第一時(shí)間、第一議題學(xué)

  • 2022年度抓基層黨建工作述職報(bào)告按照黨委工作部署,現(xiàn)將本人2022年度抓基層黨建工作情況報(bào)告如下:一、2022年度抓基層黨建工作情況(一)旗幟鮮明講政治將旗幟鮮明講政治放在全局發(fā)展首要位置,積極開展

  • 2022年,是我在數(shù)計(jì)系黨總支書記這個(gè)新崗位上度過的第一個(gè)完整的工作年度。回首一年來在校黨委的正確領(lǐng)導(dǎo)下,與數(shù)計(jì)系領(lǐng)導(dǎo)班子和全體師生共同走過的日子,艱辛歷歷在目,收獲溫潤心田。作為黨總支書記,我始終牢

  • 按照考核要求,現(xiàn)將本人一年來,作為統(tǒng)戰(zhàn)部長履行職責(zé)、廉潔自律等方面情況報(bào)告如下:一、著眼增強(qiáng)政治素質(zhì),不斷深化理論學(xué)習(xí)堅(jiān)持把旗幟鮮明講政治作為履職從政的第一位要求,帶領(lǐng)統(tǒng)戰(zhàn)系統(tǒng)干部堅(jiān)決擁護(hù)“兩個(gè)確立”

  • **年,緊緊圍繞黨工委、管委會的決策部署,全體人員團(tuán)結(jié)協(xié)作、凝心聚力,緊扣黨工委“**”基本工作思路,全力開拓進(jìn)取,認(rèn)真履職盡責(zé),圓滿完成各項(xiàng)工作任務(wù)。一、個(gè)人思想政治狀況檸檬文苑www bgzjy

  • 按照縣委關(guān)于開展抓基層黨建述職評議會議的有關(guān)要求,經(jīng)請示縣委組織部同意,今天,我們在此召開2022年度基層黨組織書記抓基層黨建述職評議會議。1 首先,請**黨委書記,**同志述職。**黨委能夠主動(dòng)研究