鏈式儲存棧及基本應用

2021-07-30 06:20:27 字數 1283 閱讀 5599

實驗二  棧、佇列

實驗學時:2學時

背景知識:入棧、出棧,入隊、出隊。

目的要求

1.掌握棧、佇列的思想及其儲存實現。

2.掌握棧、佇列的常見演算法的程式實現。

實驗內容

1.採用鏈式儲存實現棧的初始化、入棧、出棧操作。

2.採用順序儲存實現棧的初始化、入棧、出棧操作。

3.採用鏈式儲存實現佇列的初始化、入隊、出隊操作。

4.採用順序儲存實現迴圈佇列的初始化、入隊、出隊操作。

5.在主函式中設計乙個簡單的選單,分別測試上述演算法。

*6.綜合訓練:1)利用棧實現表示式求值演算法。

2)利用棧實現迷宮求解。

實驗說明

1.基本要求:實現演算法1、3或演算法2、4即可。

2.型別定義

順序棧示例

#define max100 //棧的最大值

typedef struct

sqstack;

順序佇列示例

#define max100 //佇列的最大長度

typedef struct

sqqueue;

3.演算法6的每個子功能盡可能寫成函式形式。

注意問題

1.重點理解棧、佇列的演算法思想,能夠根據實際情況選擇合適的儲存結構。

2.注意演算法6的各個函式之間值的傳遞情況。

3.棧、佇列的演算法是後續實驗的基礎(廣義表、樹、圖、查詢、排序等)。

#include #include #include #include #include #include using namespace std;

/* 1.採用鏈式儲存實現棧的初始化、入棧、出棧操作。

2.採用順序儲存實現棧的初始化、入棧、出棧操作。

3.採用鏈式儲存實現佇列的初始化、入隊、出隊操作。

4.採用順序儲存實現迴圈佇列的初始化、入隊、出隊操作。

5.在主函式中設計乙個簡單的選單,分別測試上述演算法。

*6.綜合訓練:1)利用棧實現表示式求值演算法。

2)利用棧實現迷宮求解。

*/#define elemtype int

typedef struct lnode

lnode,*lnodeptr;

void initstack(lnodeptr &s)

void push(lnodeptr &s,elemtype x)

void pop(lnodeptr &s)

void stackdis(lnodeptr s)

cout<

棧和佇列基本應用

一 棧 棧 是限定僅在表尾進行插入或刪除操作的線性表,表尾段稱為棧頂,表頭段稱為棧底,棧有稱後進先出線性表。棧有順序棧和鏈棧。個人總結 棧的操作可以在陣列的基礎上,也可以運用stack。陣列的操作就不多說了,現在總結一下stack。stack基本應用。標頭檔案 include stack stack...

Hive簡介及基本應用

hadoop是乙個開源框架來儲存和處理大型資料在分布式環境中。它包含兩個模組,乙個是mapreduce,另外乙個是hadoop分布式檔案系統 hdfs hive作為構建在hadoop之上的資料倉儲,它提供了一系列的工具,可以用來進行資料提取轉化載入 etl 這是一種可以儲存 查詢和分析儲存在hado...

Numpy基礎及基本應用

資料處理的一般流程 資料收集 資料預處理 資料處理 資料展示 資料收集方法 網路爬蟲 公開資料集 其他途徑收集的資料 預處理方法 歸一化 二值化 維度變換 去重 無效資料過濾 資料處理方法 資料排序 資料查詢 資料統計分析 資料展示方法 列表 圖表 動態互動圖形 安裝numpy windows pi...