1.栈和队列的共同特点是(只允许在端点处插入和删除元素)
4.栈通常采用的两种存储结构是(线性存储结构和链表存储结构)
5.下列关于栈的叙述正确的是(D)
A.栈是非线性结构B.栈是一种树状结构C.栈具有先进先出的特征D.栈有后进先出的特征
6.链表不具有的特点是(B)A.不必事先估计存储空间 B.可随机访问任一元素
C.插入删除不需要移动元素 D.所需空间与线性表...
分类:
编程语言 时间:
2015-08-29 21:41:18
阅读次数:
249
C++手册之deque所属头文件 常用操作:back()返回尾部元素;front()返回头部元素;push_back()尾部插入元素;pop_bakc()尾部删除元素;push_front()头部插入元素;pop_front()头部删除元素;问题1:求滑动窗口的最大值(《剑指offer面试题65》)...
分类:
编程语言 时间:
2015-08-28 19:25:30
阅读次数:
179
heap和stack有什么区别?栈是一种线形集合,其添加和删除元素的操作应在同一段完成。栈按照后进先出的方式进行处理。
堆是栈的一个组成元素forward 和redirect的区别?forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。
re...
分类:
编程语言 时间:
2015-08-27 08:19:08
阅读次数:
176
1. 直接修改数组长度;越界添加元素,补充undefined; 也可以减少长度,删除元素2.indexOf ,对比字符串用法3.slice ,对比字符串 substring4.push ,pop5.shift ,unshift 插队 python collections的双端队列>>> t=coll...
分类:
编程语言 时间:
2015-08-26 19:14:49
阅读次数:
153
删除链表中多余的重复结点I首先对于一个有序的结点递增的链表,删除重复的结点,只保留一份重复的结点。Given 1->1->2, return 1->2.Given 1->1->2->3->3, return 1->2->3. 只需要一个结点指针就能够完成操作。ListNode* deleteDup....
分类:
其他好文 时间:
2015-08-25 16:10:31
阅读次数:
145
一、栈的基本概念栈(stack):限定在表尾进行插入和删除操作的线性表。
栈顶(top):允许进行插入和删除操作的一端,又称表尾。
栈底(bottom):固定端,又称表头。
空栈:不含元素的空表称为空栈。
插入元素的操作称为入栈(压栈)。
删除元素的操作称为出栈(弹栈)。
顺序存储的栈称为顺序栈。
链式存储的栈称为链栈。设栈S=(a1,a2,...an),则a1称为栈底元...
分类:
其他好文 时间:
2015-08-25 14:19:51
阅读次数:
125
这种方式是一定有问题的:d={‘a‘:1,‘b‘:2,‘c‘:3}
forkeyind:
d.pop(key)会报这个错误:RuntimeError:dictionarychangedsizeduringiteration这种方式Python2可行,Python3还是报上面这个错误。d={‘a‘:1,‘b‘:2,‘c‘:3}
forkeyind.keys():
d.pop(key)Python3报错的原因是keys()函..
分类:
编程语言 时间:
2015-08-25 12:32:05
阅读次数:
225
如果涉及到堆栈,队列等操作,应该考虑用List,对于需要快速插入,删除元素,应该使用LinkedList,如果需要快速随机访问元素,应该使用ArrayList。如果程序在单线程环境中,或者访问仅仅在一个线程中进行,考虑非同步的类,其效率较高,如果多个线程可能同时操作一个类,应该使用同步的类。要特别注...
分类:
编程语言 时间:
2015-08-17 21:17:31
阅读次数:
119
顺序容器总结:array:固定大小的数组,支持快速访问,不能添加和删除元素vector:动态数组,支持快速访问,但在尾部之外插入或删除元素会很慢string:与vector相似的容器,用于保存字符deque:双向队列,支持快速随机访问,在头尾位置插入元素速度很快list:双向链表,支持双向访问,在链...
分类:
其他好文 时间:
2015-08-15 19:51:30
阅读次数:
228