C 언어 데이터 구조의 사용 링크 시 뮬 레이 션 스 택 의 인 스 턴 스

C 언어 데이터 구조의 사용 링크 시 뮬 레이 션 스 택 의 인 스 턴 스
다음은'링크 시 뮬 레이 션 스 택 사용'의 간단 한 예 입 니 다.
1.C 언어 로 구현 한 버 전

#include<stdio.h> 
#include<stdlib.h> 
 
typedef char datatype; 
typedef struct node{ 
  datatype data; 
  struct node *next; 
} stack; 
 
stack* m_stack = NULL; 
 
/*     ,         */ 
void creat(void); 
/*   s   */ 
void MakeNull(); 
/*         */ 
bool Empty(); 
//        
int Top(datatype* value); 
//       
void Pop(); 
//  ,         
void Push(datatype x); 
 
/*     ,         */ 
void creat() 
{ 
  char ch; 
 
  printf("       :
"); ch = getchar(); while (ch != '
') { 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("
"); } } // , 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; /* , */ creat(); if (!Empty()) // { int res = Top(&m_top); if (res == -1) { printf(" ,
"); } else { printf(" : %c
", m_top); } Pop(); } else { printf("
"); } MakeNull(); }
실행 결 과 는 다음 그림 과 같 습 니 다.

이상 은 데이터 구조 링크 시 뮬 레이 션 스 택 의 사례 입 니 다.궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 지역사회 에 가서 토론 을 하 십시오.읽 어 주 셔 서 감사합니다. 여러분 께 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기