第六周 專案2 建立鏈棧演算法庫

2021-07-05 18:59:30 字數 1765 閱讀 5363

/* 

*檔名稱:建立鏈棧演算法庫.cpp 

*作    者:周潔 

*完成日期:2023年 10月12日 

*版 本 號: 

* *問題描述:定義鏈棧儲存結構,實現其基本運算,並完成測試。

*輸入描述:若干數字 

*程式輸出:(1)初始化棧s 

(2)判斷s棧是否為空 

(3)依次進棧元素a,b,c,d,e 

(4)判斷s棧是否為空 

(5)輸出棧長度 

(6)輸出從棧頂到棧底元素 

(7)出棧,並輸出出棧序列 

(8)判斷s棧是否為空 

(9)釋放棧

*/ **:

(1)標頭檔案 l.h

#ifndef listack_h_included

#define listack_h_included

typedef char elemtype;

typedef struct linknode

listack;                      //鏈棧型別定義

void initstack(listack *&s);  //初始化棧

void destroystack(listack *&s);  //銷毀棧

int stacklength(listack *s);  //返回棧長度

bool stackempty(listack *s);  //判斷棧是否為空

void push(listack *&s,elemtype e);  //入棧

bool pop(listack *&s,elemtype &e);  //出棧

bool gettop(listack *s,elemtype &e);  //取棧頂元素

void dispstack(listack *s);  //輸出棧中元素

#endif // listack_h_included

(2)原始檔 l.cpp

#include

#include

#include "l.h"

void initstack(listack *&s)  //初始化棧

void destroystack(listack *&s)  //銷毀棧

free(s);    //s指向尾結點,釋放其空間

}int stacklength(listack *s)  //返回棧長度

return(i);

}bool stackempty(listack *s)  //判斷棧是否為空

void push(listack *&s,elemtype e)  //入棧

bool pop(listack *&s,elemtype &e)  //出棧

bool gettop(listack *s,elemtype &e)  //取棧頂元素

void dispstack(listack *s)  //輸出棧中元素

printf("\n");

}int main()

printf("\n");

printf("(8)鏈棧為%s\n",(stackempty(s)?"空":"非空"));

printf("(9)釋放鏈棧\n");

destroystack(s);

return 0;

}執行結果:

知識點總結:

鏈棧儲存結構的建立及輸出。 

第六周專案2 建立鏈棧演算法庫

問題及 定義鏈棧儲存結構,實現其基本運算,並完成測試。標頭檔案listack.h all right reserved 檔名稱 sqstack.h sqstack.cpp 完成日期 2015.10.05 ifndef listack h included define listack h inclu...

第六周 專案2 建立鏈棧演算法庫

2015,煙台大學計算機控制工程學院 檔名稱 listake.cpp 完成日期 2015年10月9日 問題描述 建立鏈棧演算法庫 專案要求 定義鏈棧儲存結構,實現其基本運算,並完成測試 1 建立標頭檔案listake.h ifndef listack h included define listac...

第六周 專案2 建立鏈棧演算法庫

檔名稱 第6周專案2 建立鏈棧演算法庫.cpp 作 者 呂云雙 完成日期 2015年10月9日 版 本 號 v1.0 問題描述 定義鏈棧儲存結構,實現其基本運算,並完成測試。輸入描述 若干資料。程式輸出 各個步驟的文字敘述及其資料的輸出。標頭檔案 include includetypedef cha...