久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

2數據結構-實驗報告二(棧和隊列及其應用)

時間:2019-05-12 08:38:57下載本文作者:會員上傳
簡介:寫寫幫文庫小編為你整理了多篇相關的《2數據結構-實驗報告二(棧和隊列及其應用)》,但愿對你工作學習有幫助,當然你在寫寫幫文庫還可以找到更多《2數據結構-實驗報告二(棧和隊列及其應用)》。

第一篇:2數據結構-實驗報告二(棧和隊列及其應用)

實驗二 棧和隊列及其應用

一、實驗目的

1.掌握棧和隊列這兩種抽象數據類型的特點,并能在相應的應用問題中正確選用它們。

2.熟練掌握棧類型的兩種實現方法。

3.熟練掌握循環隊列和鏈隊列的基本操作實現算法。

二、實驗內容

用隊列求解迷宮問題 [問題描述] 以一個M*N的長方陣表示迷宮,0和1分別表示迷宮中的通路和墻壁。設計一個程序,對任意設定的迷宮,求出一條從入口到出口的通路,或得出沒有通路的結論。[基本要求] 實現一個以順序存儲結構的隊列類型,然后編寫一個求解迷宮的非遞歸程序。求得的通路以三元組(i,j,pre)的形式輸出,其中:(i,j)指示迷宮中的一個坐標,pre表示本路徑中上一個方塊在隊列中的下標。

[測試數據] 由學生任意指定。

三、源代碼

# include #define M 5 #define N 5

//行數 //列數

//隊最多元素個數

//一個迷宮,其四周要加上均為1的外框{1,1, #define MaxSize 100 int mg[M+2][N+2]={ {1,1,1,1,1,1,1}, {1,0,0,0,0,0,1}, {1,0,1,0,0,1,1}, {1,0,1,0,0,1,1}, {1,0,1,0,1,0,1}, {1,0,0,0,0,0,1}, {1,1,1,1,1,1,1} };

typedef struct {int i,j;int pre;} Box;typedef struct { Box data[MaxSize];int front, rear;}QuType;void mgpath1(int xi,int yi,int xe,int ye)//搜索路徑為:(xi,yi){ void print(QuType qu, int front);->(xe,ye)

int i,j,find=0,di;QuType qu;//定義順序隊 qu.front=qu.rear=-1;qu.rear++;qu.data[qu.rear].i=xi;//(xi,yi)進隊 qu.data[qu.rear].j=yi;qu.data[qu.rear].pre=-1;mg[xi][yi]=-1;while(qu.front!=qu.rear&&!find){qu.front++;i=qu.data[qu.front].i;j=qu.data[qu.front].j;if(i==xe&&j==ye){find=1;print(qu,qu.front);

}

for

(di=0;di<4;di++)

{

switch(di)

{

case 0 :i=qu.data[qu.front].i-1;j=qu.data[qu.front].j;break;case 1 :i=qu.data[qu.front].i;j=qu.data[qu.front].j+1;break;case 2 :i=qu.data[qu.front].i+1;j=qu.data[qu.front].j+1;break;case 3 :i=qu.data[qu.front].i;j=qu.data[qu.front].j-1;break;

}

if(mg[i][j]==0)

{find=1;

qu.rear++;

qu.data[qu.rear].i=i;qu.data[qu.rear].j=j;

qu.data[qu.rear].pre=qu.front;

mg[i][j]=-1;

}

} } }

void print(QuType qu, int front){

int k=front,j,ns=0;

printf(“n”);do

{j=k;

k=qu.data[k].pre;

qu.data[j].pre=-1;

} while(k!=0);printf(“迷宮路徑如下:n”);k=0;while(k

ns++;

printf(“t(%d,%d)”,qu.data[k].i,qu.data[k].j);

if(ns%5==0)printf(“n”);} k++;} printf(“n”);} void main()

{ mgpath1(1,1,M,N);printf(“迷宮所有路徑如下:n”);

}

四、測試結果:

五、心得體會

做實驗首先要掌握大量的理論知識,然后認真去完成實驗。做實驗過程會碰見較大的困難,這就要需要我們的毅力。小小的迷宮隱藏大大的奧秘。

第二篇:實驗報告——棧和隊列的應用

實驗5 棧和隊列的應用

目的和要求:

(1)熟練棧和隊列的基本操作;(2)能夠利用棧與隊列進行簡單的應用。

一、題目

題目1.利用順序棧和隊列,實現一個棧和一個隊列,并利用其判斷一個字符串是否是回文。所謂回文,是指從前向后順讀和從后向前倒讀都一樣的字符串。例如,a+b&b+a等等。

題目2.假設在周末舞會上,男士們和女士們進入舞廳時,各自排成一隊。跳舞開始時,依次從男隊和女隊的隊頭上各出一人配成舞伴。若兩隊初始人數不相同,則較長的那一隊中未配對者等待下一輪舞曲。現要求寫一算法模擬上述舞伴配對問題,并實現。

題目3.打印機提供的網絡共享打印功能采用了緩沖池技術,隊列就是實現這個緩沖技術的數據結構支持。每臺打印機具有一個隊列(緩沖池),用戶提交打印請求被寫入到隊列尾,當打印機空閑時,系統讀取隊列中第一個請求,打印并刪除之。請利用隊列的先進先出特性,完成打印機網絡共享的先來先服務功能。

題目4.假設以數組Q[m]存放循環隊列中的元素, 同時設置一個標志tag,以tag == 0和tag == 1來區別在隊頭指針(front)和隊尾指針(rear)相等時,隊列狀態為“空”還是“滿”。試編寫與此結構相應的插入(enqueue)和刪除(dlqueue)算法。

題目5.利用循環鏈隊列求解約瑟夫環問題。

請大家從本組未討論過的五道題中選擇一道,參照清華鄧俊輝老師MOOC視頻及課本相關知識,編寫相應程序。

選擇題目3:

打印機提供的網絡共享打印功能采用了緩沖池技術,隊列就是實現這個緩沖技術的數據結構支持。

二、程序清單

//Ch3.cpp #include #include #include“ch3.h” template void LinkedQueue::makeEmpty()//makeEmpty//函數的實現 { LinkNode*p;while(front!=NULL)//逐個刪除隊列中的結點

{

p=front;

front=front->link;

delete p;} };template bool LinkedQueue::put_in(T&x){//提交命令函數

if(front==NULL){//判斷是否為空

front=rear=new LinkNode;//如果為空,新結點為對頭也為對尾

front->data=rear->data=x;

if(front==NULL)//分配結點失敗

return false;} else{

rear->link=new LinkNode;//如不為空,在鏈尾加新的結點

rear->link->data=x;

if(rear->link==NULL)

return false;

rear=rear->link;} return true;};template bool LinkedQueue::carry_out()//執行命令函數 { if(IsEmpty()==true)//判斷是否為空

{

return false;} cout<data<<“ ”;//輸出鏈尾的數據,代表執行打印命令

LinkNode*p=front;front=front->link;//刪除以執行的命令,即對頭修改

delete p;//釋放原結點

return true;};void main()

//主函數 { LinkedQueue q;//定義類對象

char flag='Y';

//標志是否輸入了命令

const int max=30;//一次獲取輸入命令的最大個數 while(flag=='Y')//循環 { int i=0;char str[max];//定義存儲屏幕輸入的命令的數組

gets(str);//獲取屏幕輸入的命令

while(str[i]!='

主站蜘蛛池模板: 国产超碰av人人做人人爽| 精品久久久久久无码国产| 欧美日韩国产免费一区二区三区| 中文字幕无码视频手机免费看| 少妇放荡的呻吟干柴烈火免费视频| 各种虐奶头的视频无码| 久久综合九色综合欧美婷婷| 久久久亚洲欧洲日产国产成人无码| 无码一区二区三区av免费| 免费视频成人片在线观看| 免费精品国产自产拍在线观看| 精品欧美乱码久久久久久1区2区| 人妻丝袜av中文系列先锋影音| 亚洲欧美日韩v在线观看不卡| 国产极品久久久久久久久| 国产在线高清视频无码| 北条麻妃国产九九九精品视频| 免费无码a片一区二三区| 人妻有码精品视频在线| 日韩制服国产精品一区| 欧美性xxxx极品少妇| 久久精品国产自在天天线| 亚洲国产综合另类视频| 久久久久久人妻一区精品| 国产午夜免费高清久久影院| 精品免费久久久久久久| 精品国产aⅴ无码一区二区| 免费天堂无码人妻成人av电影| 国产乱子伦高清露脸对白| 鸭子tv国产在线永久播放| 人妻无码中文字幕一区二区三区| 国产乱理伦片在线观看| 99国产精品白浆在线观看免费| 浪潮av激情高潮国产精品| 精品成人无码中文字幕不卡| 99久久国产综合精麻豆| 国产精品激情欧美可乐视频| 亚洲精品无播放器在线播放| 99久久99久久久精品齐齐综合色圆| 毛片免费观看天天干天天爽| 成年日韩片av在线网站|