itor2=itor;
array.erase(itor2); }
itor++; }
print(array); return 0; }
void print(vector
cout << \vector
我的答案是,迭代器问题,只能删除第一个6,以后迭代器就失效了,不能删除之后的元素。 但我不知道怎么改
void print(const vector
vector
//删除array数组中所有的6
array.erase( remove( array.begin(), array.end(), 6 ) , array.end() );
print(array); return 0; }
void print(const vector
cout << \
copy(v.begin(), v.end(), ostream_iterator
#include
vector
array.push_back(6); array.push_back(6); array.push_back(6); array.push_back(6); array.push_back(6); array.push_back(3); array.push_back(9); array.push_back(8); array.push_back(5);
//é?3yarrayêy×é?Ð?ùóÐμ?6 vector
for(itor=array.begin(); itor!=array.end();++itor ) {
if(6==*itor) {
itor=array.erase(itor); --itor; } }
cout << \for(itor=array.begin(); itor!=array.end();++itor ) {
cout<<*itor<<\}
system(\return 0; }
答案:
执行itor=array.erase(itor);这句话后,itor不会移动,而只是把删除的数后面的数都往前移一位,所以删除了第一个6后,指针指向第2个6,然后在来个itor++,指针就指向array.end()了,给你画个草图:
1 6 6 3 array.end() //最开始指针itor指向第一个6; 1 6 3 array.end() //删除第一个6后,指向第二个6
1 6 3 array.end() //itor++后,就指向3了,所以不能删除
2. What are three ways in which a thread can enter the waiting state? 答:
CPU调度给优先级更高的thread,原先thread进入waiting 阻塞的thread获得资源或者信号,进入waiting 还有什么
面试与被面试总结 我从事技术工作,
这几年的面试与被面试总结 先说我去被面试的经验吧。
回答清楚了2个问题,就能顺利过关了。 1。为什么要离开上一家公司。 2。公司为什么要雇佣你。
问第一个问题的是hr(或老板),呵呵 ,即使你技术过关,hr那里没有好的影响,结果是一个字,难! 如何回答呢?
hr想推论出你在他的公司能呆多久。这个时候,你甚至可以明确告诉他,我在贵公司至少能呆n(n>=1)年----当 第22/28页
然,你没有把握的话,绝对不能乱说,社会上混,要讲信用的。
有一次,我就在这个问题上吃了大亏,我看公司环境还不错,就我自做主张回答1年,结果,hr心目中是m(m>=2)年,呵呵,结果可想而知了。要知道,技术面试都过关了,Hr面试是2选1,在回家的路上,我只能祈祷对手自动放弃或找到了其他更好的工作。:) 问第二个问题的是技术官。你要让他知道你已经做过哪些商业作品。一定要是商业作品。在里面负责哪方面具体工作,对于你熟悉的地方要多说。最好就是能争取笔试或上机,因为用用口说的话,大家理解都不一样,误差可能很大,结果对你相当不利。在这个问题上我也吃过亏的,曾有一个我很看好的职位,认为把握很大,业务理解上也很有优势,和技术官一谈,结果是game
over。要知道,在其他公司的上机和笔试中,我都能在应聘者中取得高分。 再说我去面试别人的经验吧。
当时,我的任务是出题,给分。若你觉得题很难,那么,请千万不要放弃,显然,你的对手也觉得难。只要坚持,我会认为这人有耐心很毅力,在以后的工作中也是好的合作者。题一定要做完,表现出认真的态度,若有疑问或卡壳,还可以寻求面试官的帮助,这些不会减分,相反,会增加你和他们的接触机会,面试官会评估你的沟通能力。
有一次,有1个人来面试,题没有完全ok,但很规范,态度很认真,他把他知道的都做上去了,我给了他技术类的高分。后来,顺利进入公司,再后来进步很快,成了重要角色。 若文章对你有帮助的话,请在此讨论。 祝你成功 面试题
1.链表和数组的区别在哪里?
2.编写实现链表排序的一种算法。说明为什么你会选择用这样的方法? 3.编写实现数组排序的一种算法。说明为什么你会选择用这样的方法? 4.请编写能直接实现strstr()函数功能的代码。
5.编写反转字符串的程序,要求优化速度、优化空间。 6.在链表里如何发现循环链接?
7.给出洗牌的一个算法,并将洗好的牌存储在一个整形数组里。 8.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码 ,编写出一个从字符串到长整形的函数?)
9.给出一个函数来输出一个字符串的所有排列。
10.请编写实现malloc()内存分配函数功能一样的代码。
11.给出一个函数来复制两个字符串A和B。字符串A的后几个字节和字符串B的前几个字节重叠。
12.怎样编写一个程序,把一个有序整数数组放到二叉树中? 13.怎样从顶部开始逐层打印二叉树结点数据?请编程。
14.怎样把一个链表掉个顺序(也就是反序,注意链表的边界条件 第23/28页
并考虑空链表)? 另外:
一、单项选择题:(共12题,每题2分,共24分) 1. 下面哪一个不是C++的标准数据类型? ( D) A. int B. char C. bool D. real
2. break关键字在哪一种语法结构中不能使用? (C) A. for语句 B. switch语句 C. if语句 D. while语句
3. 类的继承方式有几种? (B ) A. 两种 B. 三种 C. 四种 D. 六种
4. extern关键字的作用是什么? (D) A. 声明外部链接 B. 声明外部头文件引用
C. 声明使用扩展C++语句 D. 声明外部成员函数、成员数据。 5. C库函数strstr的功能是? (A ) A. 查找子串 B. 计算字符串长度 C. 字符串比较 D. 连结字符串
6. stl::deque是一种什么数据类型? (A ) A. 动态数组 B. 链表 C. 堆栈 D. 树
7. STL库里含有下面的哪一种泛型算法? (D ) A. KMP查找 B. 折半查找 C. 冒泡排序 D. 快速排序
8. 现在最快且最通用的排序算法是什么? (A ) A. 快速排序 B. 冒泡排序 C. 选择排序 D. 外部排序
9. Win32下的线程的哪一种优先级最高? ( C) A. THREAD_PRIORITY_HIGHEST 高优先级
B. THREAD_PRIORITY_IDLE 最低优先级,仅在系统空闲时执行 C. THREAD_PRIORITY_TIME_CRITICAL 最高优先级
D. THREAD_PRIORITY_ABOVE_NORMAL 高于普通优先级
10. 下面四个选项中,哪一个不是WinMain函数的参数? (D ) A. HINSTANCE B. INT C. LPSTR D. WPARAM
11. VC++的编译器中,运算符new底层的实现是什么? (B ) A. VirtualAlloc() B. HeapAlloc()
C. GlobalAlloc() D. AllocateUserPhysicalPages() 12. 下面哪一本C++参考书最厚? ( C) A. 《Think in C++》 B. 《深入浅出MFC》