真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語言中怎么利用鏈表模擬棧

本篇文章給大家分享的是有關(guān)C語言中怎么利用鏈表模擬棧,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)專注于祿豐網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供祿豐營銷型網(wǎng)站建設(shè),祿豐網(wǎng)站制作、祿豐網(wǎng)頁設(shè)計、祿豐網(wǎng)站官網(wǎng)定制、微信平臺小程序開發(fā)服務(wù),打造祿豐網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供祿豐網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

1. 用C語言實(shí)現(xiàn)的版本

#include 
#include 
 
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(); 
}

運(yùn)行結(jié)果如下圖所示:

C語言中怎么利用鏈表模擬棧

以上就是C語言中怎么利用鏈表模擬棧,小編相信有部分知識點(diǎn)可能是我們?nèi)粘9ぷ鲿姷交蛴玫降?。希望你能通過這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


當(dāng)前題目:C語言中怎么利用鏈表模擬棧
本文URL:http://weahome.cn/article/iggshs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部