C語言數(shù)據(jù)結(jié)構(gòu)之使用鏈表模擬棧的實例
更新時間:2017年08月28日 09:57:11 作者:愛思考的小鳥
這篇文章主要介紹了C語言數(shù)據(jù)結(jié)構(gòu)之使用鏈表模擬棧的實例的相關(guān)資料,需要的朋友可以參考下
C語言數(shù)據(jù)結(jié)構(gòu)之使用鏈表模擬棧的實例
以下是“使用鏈表模擬?!钡暮唵问纠?/p>
1. 用C語言實現(xiàn)的版本
#include<stdio.h>
#include<stdlib.h>
typedef char datatype;
typedef struct node{
datatype data;
struct node *next;
} stack;
stack* m_stack = NULL;
/* 創(chuàng)建鏈表,從表頭插入新元素 */
void creat(void);
/* 使棧s為空 */
void MakeNull();
/* 判斷棧是否為空 */
bool Empty();
//取出棧頂元素
int Top(datatype* value);
//彈出棧頂元素
void Pop();
//入棧,在頭部插入新元素
void Push(datatype x);
/* 創(chuàng)建鏈表,從表頭插入新元素 */
void creat()
{
char ch;
printf("請輸入字符序列:\n");
ch = getchar();
while (ch != '\n')
{
Push(ch);
ch = getchar();
}
}
/* 使棧s為空 */
void MakeNull()
{
stack *p = m_stack;
while (p != NULL)
{
m_stack = m_stack->next;
free(p);/*釋放空間*/
p = m_stack;
}
}
/* 判斷棧是否為空 */
bool Empty()
{
return (m_stack == NULL);
}
//取出棧頂元素
int Top(datatype* value)
{
if (Empty())/*s為空棧,直接跳出,提示出錯信息*/
{
return -1;
}
else
{
*value = m_stack->data;
return 1;
}
}
//彈出棧頂元素
void Pop()
{
stack *p;
if (Empty()) /*s為空棧,直接跳出,提示出錯信息*/
{
printf("不能彈出,棧為空.");
}
else
{
p = m_stack;;
m_stack = m_stack->next;
free(p);/*釋放棧頂空間*/
printf("彈出成功\n");
}
}
//入棧,在頭部插入新元素
void Push( datatype x)
{
stack *p;
p = (stack*)malloc(sizeof(stack));
p->data = x;
p->next = m_stack;
m_stack = p;
}
void main()
{
char m_top;
/* 創(chuàng)建鏈表,從表頭插入新元素 */
creat();
if (!Empty()) //判斷棧是否為空
{
int res = Top(&m_top);
if (res == -1)
{
printf("棧為空,未能獲取棧頂元素\n");
}
else
{
printf("棧頂元素為: %c\n", m_top);
}
Pop();
}
else
{
printf("棧為空\n");
}
MakeNull();
}
運行結(jié)果如下圖所示:

以上就是數(shù)據(jù)結(jié)構(gòu)鏈表模擬棧的實例,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
詳解C++如何實現(xiàn)在Word文檔中創(chuàng)建列表
這篇文章主要為大家詳細介紹了介紹如何使用C++在Word文檔中創(chuàng)建編號列表、項目符號列表和多級列表,感興趣的小伙伴可以跟隨小編一起學習一下2023-05-05
為了更好的應對《算法設計與分析》這門課程,我把書上以及老師講過的案例都詳細的做一個重現(xiàn)及解剖,讓你熟記每一個潛在的考點,希望能給大家?guī)椭?/div> 2022-05-05
Qt實現(xiàn)編輯數(shù)據(jù)庫數(shù)據(jù)的方法詳解
這篇文章主要為大家詳細介紹了Qt是如何實現(xiàn)編輯數(shù)據(jù)庫數(shù)據(jù)的,文中的示例代碼簡潔易懂,對我們深入了解QT有一定的幫助,感興趣的小伙伴可以了解一下2023-02-02最新評論

