欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

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

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

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

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

以上就是數(shù)據(jù)結(jié)構(gòu)鏈表模擬棧的實例,如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有