码迷,mamicode.com
首页 > 其他好文 > 详细

数据结构 栈 学习笔记1

时间:2015-04-29 07:23:27      阅读:114      评论:0      收藏:0      [点我收藏+]

标签:空间   元素   return   

//SeqStack.h
typedef struct stack
{
	DATA data[SIZE+1];  //数据元素 
	int top;  //栈顶 
}SeqStack;
SeqStack *SeqStackInit()
{
	SeqStack *p;
	if(p=(SeqStack *)(malloc)(sizeof(SeqStack)))  //申请栈内存 
	{
		p->top = 0; //设置栈顶为零 
		return p; //返回指向栈的指针 
	}
	return NULL;
}
int SeqStackIsEmpty(SeqStack *s) //判断栈是否为空 
{
	return(s->top==0);
}
void SeqStackFree(SeqStack *s)  //释放栈所占用空间
{
	if(s)
	free(s);
 } 
void SeqStackClera(SeqStack *s) // 清空栈
{
	s->top = 0;
 } 
int SeqStackFree(SeqStack *s)  //判断栈是否已满 
{
	return(s->top==SIZE) ;
}
int SeqStackPush(SeqStack *s, DATA data) // 入栈操作
{
	if((s->top+1)>SIZE)
	{
		printf("栈溢出!\n");
		return 0;
	}
	s->data[++s->top] = data; //栈元素入栈
	return 1; 
 } 
DATA SeqStackPop(SeqStack *s)  //出栈操作
{
	if(s->top==0)
	{
		printf("栈为空!");
		exit(0);
	}
	return (s->data[s->top--]);
}
DATA SeqStackPeek(SeqStack *s) // 读栈顶数据
{
	if(s->top==0)
	{
		printf("栈为空! ");
		exit(0);
	}
	return (s->data[s->top]);
 }


数据结构 栈 学习笔记1

标签:空间   元素   return   

原文地址:http://9815936.blog.51cto.com/9805936/1639938

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!