實驗三棧和隊列的綜合應用_第1頁
實驗三棧和隊列的綜合應用_第2頁
實驗三棧和隊列的綜合應用_第3頁
實驗三棧和隊列的綜合應用_第4頁
實驗三棧和隊列的綜合應用_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、計算機與信息技術學院實驗報告姓 名學 號專業(yè)班級課程名稱計算機組成原理課程設計實驗日期成 績指導教師批改日期實驗名稱 實驗三 棧和隊列的綜合應用一、 實驗目的熟悉掌握數據結構中隊列的基本操作,能夠結合棧與隊列的結構靈活解決一些實際中問題。二、2實驗內容:利用棧的操作完成讀入的一個以結尾的字符序列是否是回文序列的判斷.回文序列即正讀與反讀都一樣的字符序列;例如:abcba#是; abcab#不是算法思想:從鍵盤上讀取一個字符,同時存儲在順序棧與鏈隊列之中,直到字符序列的最后一個字符為#停止輸入,3實驗感想與體會通過本次的上機,對棧的各項基本操作都有了更好的掌握,同時明白了一些小的細節(jié)問題可能會影

2、響到整個程序的正確的運行,本次的實驗我通過了運用棧和隊列,可以說對隊列的一些基本的操作也得以了鞏固和提高!更加體會到,自己寫程序上機操作的重要性,它要比課本上學的要多得多!4附錄(源代碼及運行圖)#include "stdlib.h"#include "stdio.h"typedef struct char *base;char *top;char stacksize;SqStack;void InitStack(SqStack &S)S.base = (char * )malloc(100 * sizeof(char);if(!S.base)e

3、xit(0);S.top=S.base;S.stacksize=100;void Push(SqStack &S,char e)if(S.top-S.base>=S.stacksize)S.base=(char *)realloc(S.base,(S.stacksize+10)*sizeof(char);if(!S.base)exit(0);S.top=S.base+S.stacksize;S.stacksize+=10;*S.top+=e;void Pop(SqStack &S,char &e)if(S.top=S.base)exit(0);e=*-S.top;

4、2 / 5typedef struct QNodechar data;struct QNode *next;QNode,*QueuePtr;typedef structQueuePtr front; QueuePtr rear;LinkQueue;void InitQuenue(LinkQueue &Q)Q.front =Q.rear=(QueuePtr)malloc(sizeof(QNode);if(!Q.front)exit(0);Q.front->next=NULL;void EnQueue(LinkQueue &Q,char e)QNode *p;p=(Queue

5、Ptr)malloc(sizeof(QNode);p->data=e; p->next=NULL;Q.rear->next=p;Q.rear=p;int DeQueue(LinkQueue &Q,char &e)QNode *p;if(Q.front=Q.rear)return 0;p=Q.front->next;e=p->data;Q.front->next=p->next;if(Q.rear=p)Q.rear=Q.front;free(p);void main()SqStack S;InitStack(S);LinkQueue Q;

6、InitQuenue (Q);char c;printf("輸入字符串,按#號結束n");scanf("%c",&c);while(c!='#') Push(S,c); EnQueue(Q,c); scanf("%c",&c); while(!(S.top=S.base)char a,b;Pop(S,a); DeQueue(Q,b);if(a!=b) printf("不是回文n");exit(0); printf("是回文n");參考文獻:1 嚴蔚敏,吳偉明. 數據結構(C語言版), 清華大

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論