1.内容小结:在第三章的学习中我们学习到了两种特殊的线性表:栈和队列。 (1)特殊性:栈:限定仅在表尾(栈顶)进行插入或者删除的线性表,后进先出。 队列:只允许在表的一端进行插入(队尾),而在另一端(队头)进行删除的线性表。先进先出。 (2)存储方式:顺序存储(顺序栈;循环队列)和链式存储(链栈;链 ...
分类:
其他好文 时间:
2019-03-29 19:12:24
阅读次数:
130
问题来源 写这篇博客来源于一次面试的经历。不过并不是我被面试,而是我面试别人。如何用 两个栈实现一个队列 ?这算是一个经典的面试题。因为它经常被拿来用。如果对栈和队列比较掌握的人,就可以轻松的答出来。 然而,那天坐在对面的面试者直接抛出: 如何用有限个栈模拟常数效率操作的队列呢 ?作为一个面试官,我 ...
分类:
其他好文 时间:
2019-03-27 10:30:43
阅读次数:
144
题目:用两个栈实现队列 考点:栈和队列 题目描述:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解题思路:每次psuh是时先将stack2清空放入stck1(保证选入的一定在栈底),stack2始终是用来删除的。在pop前,先将stack1中中的数据清空放入s ...
分类:
编程语言 时间:
2019-03-23 22:34:21
阅读次数:
245
第四章主要讲了内存,内存是一个内存储器,是计算机最重要的部件之一,是与CPU进行沟通的桥梁,作用是用于暂时存放CPU中的运算数据。内存IC内部有大量可以存储8位数据的地方,通过地址指定这些场所,之后即可进行数据的读写。根据程序中所指定的变量的数据的不同,读取的物理大小也会随之发生变化。还有就是指针, ...
分类:
其他好文 时间:
2019-03-23 22:16:54
阅读次数:
145
1. 堆 堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间。即动态分配内存,对其访问和对一般内存的访问没有区别。堆是指程序运行时申请的动态内存,而栈只是指一种使用堆的方法(即先进后出)。 2. 栈(stack)——先进后出,删除与加入均在栈顶操作 栈也称为堆栈,是一种线性表。 堆栈的特性 ...
分类:
其他好文 时间:
2019-03-20 00:38:22
阅读次数:
173
# """# This is the interface that allows for creating nested lists.# You should not implement it, or speculate about its implementation# """# class Ne ...
分类:
其他好文 时间:
2019-03-19 10:33:23
阅读次数:
149
栈和队列也都是线性表,是操作受限的特殊线性表 栈 :先进后出 顺序栈:假设有一个足够大的存储空间data,用于存储栈中的元素,将栈中的元素依次存储到数组中--顺序存储方式--顺序栈。其中设置一个整形变量top,指示栈顶,即栈顶元素的数组下标,也可用来计数元素个数 将数组 data和top作为顺序栈的 ...
分类:
其他好文 时间:
2019-03-08 19:41:16
阅读次数:
175
给定长度为size的数组,将其长度设置为大小为size的栈(队列),添加的数字如果超过了既定的长度就报错! 先实现栈(先进后出); 后实现队列(先进先出); 代码如下: ...
分类:
编程语言 时间:
2019-03-04 21:02:59
阅读次数:
209
描述:使用两个栈实现一个队列。队列中实现尾部插入和头部删除函数。 思路:stack1负责插入,stack2负责弹出,如果stack2为空了,将stack1的元素依次弹出并存放到stack2中,之后对stack2进行弹出操作。 考点:对栈和队列的理解;对泛型的使用等。 ...
分类:
其他好文 时间:
2019-02-26 13:22:35
阅读次数:
156
栈#模拟栈结构#栈有先后顺序的。后进的先取出,先进的最后取出stack=[]#压栈(向栈里存数据)stack.append("a")print(stack)stack.append("b")print(stack)#出栈(在栈里取数据)res1=stack.pop()print("res1=",re ...
分类:
编程语言 时间:
2019-02-26 13:16:50
阅读次数:
187