⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 5-10.c

📁 数据结构用C语言实现
💻 C
字号:
#include "stdio.h"
typedef   char  datatype;
typedef	 struct	node{
	datatype	 data;
	struct 	node  *next;
} stack;
stack *  creat(void)
{
      char ch;
      stack *  head;
      stack *p;
      head=NULL;//初始化为空
      ch=getchar( );
      while (ch!='\n'){
           p=(stack*)malloc(sizeof(stack));/*分配空间*/
           p->data=ch;/*数据域赋值*/
           p->next=head;/*指定后继指针*/
		   head=p;/*head指针指定到新插入的结点上*/
       	   ch=getchar( );
      }
      return (head);
}

void MackNull(stack *s)/*使栈s为空*/
{
		stack *p=s;
		while(s!=NULL){
			s=s->next;
			free(p);/*释放空间*/
			p=s;
		}
}
datatype Top(stack *s)
{
	if(Empty(s))/*s为空栈,直接跳出,提示出错信息*/
		printf("The stack is empty.");
	else
		return s->data;
}
void Pop(stack *s)
{
		stack *p;
		if(Empty(s)) /*s为空栈,直接跳出,提示出错信息*/
			printf("The stack is empty.");
		else{
			p=s;
			s=s->next;
			free(p);/*释放栈顶空间*/
		}
}
void Push(datatype x,stack *s)
{
		stack *p;
		p=(stack*)malloc(sizeof(stack));
		p->data=x;
		p->next=s;
		s=p;
}
int Empty(stack *s)
{
		return(s==NULL);
}
void main()
{
	stack*	m_stack=creat();
	char	m_top;
	if(!Empty(m_stack))
	{
		m_top=Top(m_stack);
		Pop(m_stack);
	}
	else
		Push(m_stack,0);
	MackNull(m_stack);
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -