首页 > 代码库 > 栈的基本操作( too simple)
栈的基本操作( too simple)
栈的基本操作:
1,存储结构:
2,创建空战:
3,获取栈顶元素:(判空)
4,插入和删除:
5,销毁栈:
# define stack_init_size 100 # define stackincrement 10 typedef int SElemType; typedef struct { SElemType *base; SElemType *top; int stacksize; }SqStack; void DestoryStack(SqStack &S) { S.top=S.base; free(S.base); } void TraverseStack(SqStack S) { while(S.top!=S.base) { printf("%d ",*--S.top); } } int CreatStack(SqStack &S) { S.base=(SElemType *)malloc(stack_init_size*sizeof( SElemType ) ); if(!S.base) exit(-2) ; S.top=S.base; S.stacksize=stack_init_size; } void GetTop(SqStack &S,int &e) { if(S.base==S.top) return ; e=*(S.top-1); } void Pop(SqStack &S,int &e) { if(S.top==S.base) return ; e=*--S.top; } void InsertStack(SqStack &S,int &e) { if(S.top-S.base>S.stacksize) { S.base=(SElemType *)realloc(S.base,(S.stacksize+stackincrement)*sizeof(SElemType)); if(!S.base) exit(-2); S.top=S.base+S.stacksize; S.stacksize+=stackincrement; } *S.top++=e; }
栈的基本操作( too simple)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。