笔试面试题—软件测试工程师
试题1.在一个长度为n的.顺序存储线性表中,向第i个元素(1≤i≤n+1)之前插入一个新元素,需要从后往前依次后移几个元素?删除第i个元素时,需要从前向后前移几个元素?
分析:考察线性表中顺序存储的特点。
答案:n-i+1,n-i
试题2.已知链表的头结点head,写一个函数把这个链表逆序。
分析:考察线性表中链式存储反转算法。
答案:
01. void List::reverse()
02. {
03. list_node * p = head;
04. list_node * q = p->next;
05. list_node * r = NULL;
06. while(q){;
07. r= q->next;
08. q->next = p;
09. p= q;
10. q= r;
11. }
12. head->next = NULL;
13. head = p;
14. }
试题3.找出单向链表中的中间结点。
分析:两个指针,一个步长为1,另一个步长为2。步长为2的走到底后步长为1的正好到中间。
答案:
01. list_node * List::middleElement()
02. {
03. list_node * p = head;
04. list_node * q =head->next;
05. while(q){;
06. p= p->next;
07. if(q)q=q->next;
08. if(q)q=q->next;
09. }
10. }
试题4.如何检查一个单向链表上是否有环。
分析:同样两个指针,一个步长为1,另一个步长为2,如果两个指针能相遇则有环。
答案:
01. list_node * List::getJoinPointer()
02. {
03.
04. if(head == NULL ||head->next == NULL)return NULL;
05. list_node * one = head;
06. list_node * two =head->next;
07. while(one != two){
08. one =one->next;
09. if(two)two=two->next;
10. elsebreak;
11. if(two)two=two->next;
12. elsebreak;
13. };
14. if(one == NULL || two ==NULL)return NULL;
15. return one;
16. }
-
2017考研专科生报考辽宁各高校条件
下面是小编搜集整理的专科生考研报考辽宁各高校的条件的相关资料,供大家阅读了解。专科生考研,根据2016年各高校招生简章要求,都需以本科生同等学力身份报考,即获得国家承认的高职高专毕业学历后满2年(从毕业到2017年9月1日,下同)或2年以上,达到与大学本科毕业生同等...
-
2016考研英语一小作文预测范文
应用文考察类型:书信、通知书信作文预测:通知、投诉信、建议信、咨询信、求学(职)、请求信、感谢信、备忘录预测作文范文通知Directions:Supposeyouruniversityisgoingtohostasummercampforhighschoolstudents.Writeanoticeto1)brieflyintroducethecampactivitie...
-
烟台大学生命科学学院2016考研专业目录
烟台大学生命科学学院的前身为烟台大学生物化学系,创立于1985年。学院下设生物科学与技术、海洋生物工程、食品工程3个系及1个食品检验检测中心,设有生物科学、生物技术、生物工程、食品科学与工程、食品质量与安全5个本科专业。在读本科生1700余人。烟台大学生...
-
四川理工学院2016考研现场确认要求及注意事项
一、网报时间:1、应届本科毕业生网上预报名时间为2015年9月24日至27日9:00-22:00。2、网上报名时间为2015年10月10日至31日每天9:00-22:00。二、现场确认时间、地点:1、时间:2015年11月7日至12日(上午9:00-12:00、下午14:00-17:00)11月7-8日(周末):宜宾学院、内江...