欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      實驗總結(jié)報告-棧和隊列(大全5篇)

      時間:2019-05-12 14:10:16下載本文作者:會員上傳
      簡介:寫寫幫文庫小編為你整理了多篇相關(guān)的《實驗總結(jié)報告-棧和隊列》,但愿對你工作學(xué)習(xí)有幫助,當(dāng)然你在寫寫幫文庫還可以找到更多《實驗總結(jié)報告-棧和隊列》。

      第一篇:實驗總結(jié)報告-棧和隊列

      實驗總結(jié)報告—棧和隊列

      學(xué)號:

      姓名: 時間:

      一、目的 1.做實驗的目的

      加深對線性結(jié)構(gòu)棧和隊列的理解,學(xué)會定義棧和隊列的存儲結(jié)構(gòu),加強對棧和隊列操作機制的理解,掌握棧和隊列的基本操作,了解棧和隊列的一些應(yīng)用。2.撰寫實驗報告的目的

      對本次實驗情況進行總結(jié),加強對實驗內(nèi)容的理解,對實驗過程有一個系統(tǒng)的認(rèn)識,從中獲得本次試驗的經(jīng)驗,并對實驗結(jié)果進行適當(dāng)?shù)姆治觯由顚:完犃械睦斫夂驼J(rèn)識。

      二、內(nèi)容

      1.說明實驗次數(shù)及實驗內(nèi)容 本次實驗用一次實驗課時完成 實驗內(nèi)容:

      (1)、編寫函數(shù)CreatStack_sq(), DestoryStack_sq(), Push_sq(), Pop_sq(),StackEmpty_sq()和

      StackTraverse_sq(),分別完成創(chuàng)建空棧,銷毀棧,入棧,出棧,判斷棧是否為空,遍歷棧底到棧頂依

      次打印棧內(nèi)元素等功能(不要修改原棧),完成后進行測試。測試要求:在main 中,建立棧;判斷棧是否為空;將0~9 入棧;將棧頂兩個元素出棧, 兩元素求和后再入棧;從棧底到棧頂依次打印元素,再從棧頂?shù)綏5状蛴≡?;銷毀棧。

      void CreatStack_sq(SqStack &S, int msize = STACK_INIT_SIZE){...} void DestoryStack_sq(SqStack &S){...}void Push_sq(SqStack &S, ElementType e){...} bool Pop_sq(SqStack &S, ElementType &e){...} bool StackEmpty_sq(SqStack S){...} bool StackTraverse_sq(SqStack S){...}(2)、編寫函數(shù), CreateQueue_L(), DestoryQueue_L(), EnQueue_L(),DeQueue_L(),分別完

      成創(chuàng)建隊列,銷毀隊列,入隊列,出隊列等操作,完成后進行測試。測試要求:在主程序中,建立隊列,將0~9 依次入隊列,按入隊列順序出隊列并打印, 銷毀隊列。

      void CreateQueue_L(LinkQueue &Q){ } void DestoryQueue_L(LinkQueue &Q){ } void EnQueue_L(LinkQueue &Q,int e){ } bool DeQueue_L(LinkQueue &Q, int &e){ }(3)、回文是指正讀反讀均相同的字符序列,如”abba”和”abdba”均是回文, 但”good”不是回文。根據(jù)第四章棧和隊列所學(xué)內(nèi)容,試寫一個算法判

      定給定的字符向量是否為回文。測試數(shù)據(jù): 2.1 char* ch = “abccba”;2.2 char* ch = “abccbd”;(4)、(附加題)編寫函數(shù)void Knapsack(int w[],int T,int n),完成背包求解問題。測試數(shù)據(jù): w[6] = {2,8,6,5,1,4};2.做實驗完成情況

      實驗內(nèi)容在實驗課時時間內(nèi)完成(提前編寫了大概1/3部分的代碼),選做內(nèi)容也完成。

      本次實驗內(nèi)容較多,為使代碼看著簡潔有條理,采用了建工程的方式。棧部分:

      自定義了頭文件 L_stack.h: /*自定義頭文件*/ #include

      #define STACK_INIT_SIZE 100;#define STACKINCREMENT 100;

      /*自定義頭文件(棧相關(guān))*/

      #include typedef char ElemType;//typedef int ElemType;

      /*棧的結(jié)構(gòu)體定義*/ typedef struct{

      ElemType *elem;int top;int stacksize;}SqStack;

      void CreateStack_sq(SqStack &S,int msize);//創(chuàng)建棧,msize為棧的大小 void DestroyStack_sq(SqStack &S);//銷毀棧

      void Push(SqStack &S, ElemType e);// 進棧操作,e為入棧元素 int Pop_sq(SqStack &S, ElemType &e);//出站操作,成功返回0,不成功返回-1 void Increment(SqStack &S, int inc_size);//增加??臻g int StackEmpty_sq(SqStack S);//判斷???,??辗祷?,棧非空返回-1; void StackTraverse_sq1(SqStack S);//遍歷棧底到棧頂,若棧非空則依次打印棧中元素

      void StackTraverse_sq2(SqStack S);//遍歷棧頂?shù)綏5?,若棧非空則依次打印棧中元素

      void Test_sq();//棧的檢測程序

      void MatchBracket_sq(char exp[]);// 括號匹配 void MatchWord_sq(char exp[]);//判斷回文 void knapsack(int w[], int T, int n);//背包問題

      在頭文件中對所有要用到的自定義函數(shù)進行了聲明,各函數(shù)的功能可見代碼注釋部分。

      棧的創(chuàng)建:

      #include“L_stack.h”

      void CreateStack_sq(SqStack &S,int msize){

      S.elem = new ElemType[msize];S.stacksize = msize;S.top =-1;}//end CreateStack_sq 此操作完成棧的創(chuàng)建,創(chuàng)建完成得到一個空棧。

      棧的銷毀:

      #include“L_stack.h”

      void DestroyStack_sq(SqStack &S){

      delete S.elem;S.top =-1;S.stacksize = 0;}//end DestroyStack_sq 此操作將棧銷毀。

      入棧:

      #include“L_stack.h” #include

      void Push(SqStack &S, ElemType e){

      if(S.top == S.stacksize0;break;case '}':

      if(!Pop_sq(S, e)|| e!= '{')matchstat = 0;break;}//end switch ch = *exp++;}//end while

      if(matchstat&&StackEmpty_sq(S))printf(“括號匹配n”);else printf(“括號不匹配n”);}//end MatchBracket_sq 該操作完成括號的匹配;

      回文判斷:

      #include“L_stack.h”

      void MatchWord_sq(char exp[]){

      int i, len=0,flag=1;SqStack S;CreateStack_sq(S, 100);char ch,e;for(i = 0;exp[i]!='