栈
别是清欢
这个作者很懒,什么都没留下…
展开
-
数据结构--栈
1.栈的定义: 栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。2.栈的特点: 栈作为一种数据结构,是一种只能在一端进行插原创 2017-12-24 12:29:04 · 334 阅读 · 0 评论 -
栈的递归调用
所谓递归,就是程序调用自身的过程,它可以把一个大型的,复杂的问题层层转化为一个与原问题相似的,规模较小的问题来求解,递归策略只需要少量的代码就可以描述出解题过程中所需要的多次重复计算,大大地减少了程序的代码量。 一般来说,递归需要有临界条件:递归前进和递归返回段。否则,递归将无线调用,永远无法结束程序,最后会造成内存崩溃。 递归作为一种算法在程序设计语言中被广泛应用,例如,在数学运算中经常遇到计原创 2017-12-28 20:26:55 · 2869 阅读 · 0 评论 -
栈和堆内存的区别
1.1)栈:为编译器自动分配和释放,如函数参数、局部变量、临时变量等等 2)堆:为成员分配和释放,由程序员自己申请、自己释放。否则发生内存泄露。 笔试题目:请解释一个栈内存与一个堆内存的区别,请分析下面代码运行是否有问题,如果有问题请改正。 char* GetMemory(void) { char p[] = “Hello world”; return p; } void m...原创 2018-02-24 22:43:07 · 177 阅读 · 0 评论