採用順序棧完成進製轉換
(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 順序棧 棧的順序儲存結...