- 相關(guān)推薦
筆試面試題—軟件測(cè)試工程師
導(dǎo)語(yǔ):unjs小編整理了筆試面試題—軟件測(cè)試工程師,歡迎閱讀!
試題1.在一個(gè)長(zhǎng)度為n的順序存儲(chǔ)線(xiàn)性表中,向第i個(gè)元素(1≤i≤n+1)之前插入一個(gè)新元素,需要從后往前依次后移幾個(gè)元素?刪除第i個(gè)元素時(shí),需要從前向后前移幾個(gè)元素?
分析:考察線(xiàn)性表中順序存儲(chǔ)的特點(diǎn),
筆試面試題—軟件測(cè)試工程師
。答案:n-i+1,n-i
試題2.已知鏈表的頭結(jié)點(diǎn)head,寫(xiě)一個(gè)函數(shù)把這個(gè)鏈表逆序。
分析:考察線(xiàn)性表中鏈?zhǔn)酱鎯?chǔ)反轉(zhuǎn)算法。
答案:
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.找出單向鏈表中的中間結(jié)點(diǎn)。
分析:兩個(gè)指針,一個(gè)步長(zhǎng)為1,另一個(gè)步長(zhǎng)為2。步長(zhǎng)為2的走到底后步長(zhǎng)為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.如何檢查一個(gè)單向鏈表上是否有環(huán),
資料共享平臺(tái)
《筆試面試題—軟件測(cè)試工程師》(http://www.msguai.com)。分析:同樣兩個(gè)指針,一個(gè)步長(zhǎng)為1,另一個(gè)步長(zhǎng)為2,如果兩個(gè)指針能相遇則有環(huán)。
答案:
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. }
【筆試面試題—軟件測(cè)試工程師】相關(guān)文章:
軟件測(cè)試面試題完全版09-06
魯班軟件銷(xiāo)售筆試題03-13
阿里巴巴實(shí)習(xí)生測(cè)試開(kāi)發(fā)工程師筆試題目09-29
渣打銀行性格測(cè)試筆試經(jīng)驗(yàn)05-25
海爾筆試03-13
軟件開(kāi)發(fā)工程師崗位職責(zé)(精選13篇)03-11
高級(jí)軟件工程師崗位職責(zé)(精選13篇)08-04
如何準(zhǔn)備筆試04-21