选择题
1.
题目中说的队列两端其实指的是end1(头)与end2(尾)。
如何移动的?第一次入队列:end2++
在end1入队列,end1--。在end1出队列,end1++。
在end2入队列,end2++,在end2前(end2-1)出队列,end2--;
正常的循环队列是:在end1处出队列,在end2处入队列。
出队列,end1++
入队列,end2++
判控:end1==end2;
判满:(end2+1)%arrylenth==end1
2.
知识点:二叉树的遍历
3.
二叉树的性质:
非空二叉树上叶子节点数等于双分支节点数(度为2)加1。
知识点:一级容器是可以存储基本类型的容器
知识点:迭代器失效,是指迭代器指向的空间不存在了
一般和插入、删除等操作有关,这二者会导致底层空间的改变
A.插入可能会扩容,生成新的内存空间,此时迭代器指向的空间已被释放
B.map的底层是树,不涉及扩容问题
C.为什么被删除元素后面的迭代器也会失效?
知识点:在多继承中,如果父类指针指向子类,但该父类没有虚表,调用析构函数会报错
快排具有不稳定性?为什么 ?
什么是不稳定,相同元素的相对位置发生改变,快排会改变相同元素的相对位置。