實驗二 棧和佇列的實現和應用

2021-10-01 20:49:20 字數 2531 閱讀 5353

採用順序棧完成進製轉換

(1)定義順序棧的儲存結構;

(2)實現順序棧的初始化、判斷是否為空、進棧、出棧等基本操作;

(3)呼叫順序棧的基本操作實現進製轉換。

採用迴圈佇列或鏈佇列實現病人看病的模擬程式

(1)定義佇列的儲存結構;

(2)實現佇列的初始化、判斷是否為空、入隊、出隊等基本操作;

(3)呼叫佇列的基本操作實現病人看病模擬程式包括排隊、就診、查詢、退出等功能;

3.比較棧和佇列的區別

棧和佇列的區別:

1:佇列先進先出,棧先進後出

2:棧只允許在表尾一端進行插入和刪除,而佇列只允許在表尾一端進行插入,在表頭一端進行刪除。

順序棧實現進製轉換

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

typedef int selemtype;

#define stack_init_size 100

#define stackincrement 10

typedef struct sqstack;

int n, m;

int e;

sqstack s;

//呼叫基本操作實現進製轉換

//棧的初始化 空棧

bool initsack(sqstack &s)

//判斷是否為空

bool stackempty(sqstack &s)

//進棧

bool push(sqstack &s, int e)

*s.top++ = e;

return true;

}//出棧

void pop(sqstack &s, int &e)

//進製轉換

void conversion()

printf("%d用%d進製表示為:", n, m);

病人看病系統

#include

#include

#include

#define null0

#define len sizeof(struct bingli)

struct bingli

bingli;

intmenu_select()

//選單選擇程式,要求使用者輸入乙個正確的選單選項。如果不正確,則重複呼叫此子程式,直到輸入的值是正確的

return sn;

}struct bingli*

(creat()

)//建立乙個單鏈表。如果建立成功,則返回這個單鏈表的表頭;如果建立不成功,則退出程式。

p2->next=

null

; p1=head;

printf

("排隊成功!\n");

return

(head);}

;void

listinsert_rear

(struct bingli*head)

//建立乙個單鏈表成功後,再次排隊時則呼叫此子程式,作用是在單鏈表尾部插入

struct bingli*

(listdelete

(struct bingli*head)

)//就診程式。作用就是輸出就診的病歷號(即隊首元素),並且刪除隊首元素,釋放其所佔空間。

;void

display

(struct bingli*head)

//顯示所有佇列元素

}int

main()

else

listinsert_rear

(head)

;break

;case2:

printf

("2:就診: \n");

head=

listdelete

(head)

;break

;case3:

printf

("3:檢視排隊情況: \n");

display

(head)

;break

;case4:

printf

("4:不再排隊,餘下順序就診: \n");

display

(head)

;return0;

break

;case5:

printf

("5:下班--退出執行。 \n");

實驗二 棧和佇列的應用

實驗目的 本次實驗的目的在於使學生深入了解棧和佇列的特徵,掌握在實際問題背景下的靈活運用。實驗要求 正確設計和實現本程式,記錄輸出結果。實驗內容 1 佇列的各種基本操作實現。2 十進位制數向n進製資料的轉換。棧的應用 附 include include include define overflow...

實驗二棧和佇列

一 1.順序棧 源 include const int stacksize 10 template class seqstack seqstack void push void pop datatype gettop int empty private datatype data stacksize...

實驗二 棧和佇列

這個作業屬於哪個課程 這個作業要求在 homework 11296 這個作業的目標 棧和佇列 學號2018204153 一 實驗目的 1 掌握棧的結構特性及其入棧,出棧操作 2 掌握佇列的結構特性及其入隊 出隊的操作,掌握迴圈佇列的特點及其操作。二 實驗預習 說明以下概念 1 順序棧 棧的順序儲存結...