dynamicStack

Posted dtdyq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了dynamicStack相关的知识,希望对你有一定的参考价值。

动态栈的实现:

定义头文件:

#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int *stack;
int top=-1; 
int capacity=1;

void push(int ele);
int pop();
void stackEmpty();
void stackFull();

  动态栈函数的操作:

void push(int ele){

	if(top==capacity-1){
		stackFull(); 
	} 
	stack[++top]=ele; 
}
int pop(){
	if(top<0){
		stackEmpty(); 
	} 
	return stack[top--]; 
} 
void stackFull(){
	realloc(stack,2*capacity*sizeof(int*));
	capacity*=2; 
} 
void stackEmpty(){
	fprintf(stderr,"stack is empty!");
	exit(EXIT_FAILURE); 
} 

 主函数测试:

int main(void)
{
	stack=malloc(sizeof(int*));
	push(3); 
	
	printf("%d\n",pop());
	pop(); 
	return 0;
} 

                                                            2016-10-24    00:26:18

以上是关于dynamicStack的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js

片段和活动之间的核心区别是啥?哪些代码可以写成片段?

VSCode自定义代码片段——.vue文件的模板

VSCode自定义代码片段6——CSS选择器

VSCode自定义代码片段——声明函数