国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C語言數(shù)據(jù)結(jié)構(gòu)之使用鏈表模擬棧的實例

2020-01-26 13:56:45
字體:
供稿:網(wǎng)友

C語言數(shù)據(jù)結(jié)構(gòu)之使用鏈表模擬棧的實例

以下是“使用鏈表模擬棧”的簡單示例:

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ū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 十堰市| 枣强县| 宣武区| 无棣县| 密云县| 纳雍县| 拉萨市| 大化| 宣汉县| 准格尔旗| 金沙县| 进贤县| 花莲市| 江山市| 云梦县| 毕节市| 襄樊市| 利津县| 汝州市| 青河县| 旬邑县| 南雄市| 漳平市| 开原市| 福泉市| 越西县| 黑龙江省| 汉寿县| 东乌| 三台县| 乌兰县| 平罗县| 平远县| 盐边县| 崇州市| 吴桥县| 黄梅县| 漾濞| 长葛市| 沐川县| 贵港市|