c语言清空栈函数,c++清空栈

C中怎样清空一个栈(要具体算法)

如果你的链表是用数组的话,那么只要简单得把指向栈顶的指针(一个整数) = -1(因为数组的下表是从0开始) 就OK,表示没有元素,

娄底网站制作公司哪家好,找创新互联!从网页设计、网站建设、微信开发、APP开发、成都响应式网站建设公司等网站项目制作,到程序开发,运营维护。创新互联从2013年成立到现在10年的时间,我们拥有了丰富的建站经验和运维经验,来保证我们的工作的顺利进行。专注于网站建设就选创新互联

如果你的链表是用动态结构的话,那么你要把这个栈的所有元素释放了,最后s.stack = NULL;

关于栈的清空 C语言 求大神

你这个栈是一个顺序栈,base是其所占内存的首地址,当然free(s-base)会把整个栈所占内存都释放,栈不仅仅是空了(象杯子中没有了水),而且变没了(连杯子都只剩下个底座了)。可以这样做,但是一定注意:对应的结构体中stacksize要置为0。

C语言!!!栈

#define STACK_SIZE 100 //定义栈容量为100

int contents[STACK_SIZE]; //定义数组contents用作栈

int top = 0; //定义并初始化栈顶指针为0

//函数作用:清空栈

void make_empty(void)

{

top = 0; //直接将栈顶指针置0

}

//函数作用:判断栈是否为空

bool is_empty(void)

{

return top == 0; //返回top是否等于0

}

//函数作用:判断栈是否已满

bool is_full(void)

{

return top == STACK_SIZE; //返回top是否等于STACK_SIZE

}

//函数作用:向栈中压入一个元素i

void push(int i)

{

if(is_full()) //如果栈已满

stack_overflow(); //执行栈上溢操作

else //否则可以入栈

contents[top++] = i; //向栈中压入i,然后将栈顶指针+1

}

//函数作用:弹出栈顶元素并返回

int pop(void)

{

if(is_empty()) //如果栈为空

stack_underflow(); //执行栈下溢操作

else //否则可以出栈

return contents[--top]; //返回栈顶元素,然后将栈顶指针-1

}


网站名称:c语言清空栈函数,c++清空栈
网页URL:http://abwzjs.com/article/hdpppi.html