黄色在线观看视频-黄色在线免费看-黄色在线视频免费-黄色在线视频免费看-免费啪啪网-免费啪啪网站

首頁 - 網校 - 萬題庫 - 直播 - 雄鷹網校 - 團購 - 書城 - 模考 - 學習通 - 導航 -
首頁網校萬題庫直播雄鷹網校團購書城模考論壇實用文檔作文大全寶寶起名
2015中考
法律碩士
2015高考
MBA考試
2015考研
MPA考試
在職研
中科院
考研培訓
專升本
自學考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點日語
職稱英語
口譯筆譯
申碩英語
零起點韓語
商務英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點英語
托福考試
托業考試
零起點法語
雅思考試
成人英語三級
零起點德語
等級考試
華為認證
水平考試
Java認證
職稱計算機 微軟認證 思科認證 Oracle認證 Linux認證
公 務 員
導游考試
物 流 師
出版資格
單 證 員
報 關 員
外 銷 員
價格鑒證
網絡編輯
駕 駛 員
報檢員
法律顧問
管理咨詢
企業培訓
社會工作者
銀行從業
教師資格
營養師
保險從業
普 通 話
證券從業
跟 單 員
秘書資格
電子商務
期貨考試
國際商務
心理咨詢
營 銷 師
司法考試
國際貨運代理人
人力資源管理師
廣告師職業水平
衛生資格 執業醫師 執業藥師 執業護士
會計從業資格
基金從業資格
統計從業資格
經濟師
精算師
統計師
會計職稱
法律顧問
ACCA考試
初級會計職稱
資產評估師
高級經濟師
注冊會計師
高級會計師
美國注冊會計師
審計師考試
國際內審師
注冊稅務師
理財規劃師
一級建造師
安全工程師
設備監理師
公路監理師
公路造價師
二級建造師
招標師考試
物業管理師
電氣工程師
建筑師考試
造價工程師
注冊測繪師
質量工程師
巖土工程師
注冊給排水
造價員考試
注冊計量師
環保工程師
化工工程師
暖通工程師
咨詢工程師
結構工程師
城市規劃師
材料員考試
消防工程師
監理工程師
房地產估價
土地估價師
安全評價師
房地產經紀人
投資項目管理師
環境影響評價師
土地登記代理人
寶寶起名
繽紛校園
實用文檔
入黨申請
英語學習
思想匯報
作文大全
工作總結
求職招聘 論文下載 直播課堂
您現在的位置: 考試吧 > 軟件水平考試 > 復習資料 > 程序員 > 正文

2015年軟件水平考試程序員精選題(9)

來源:考試吧 2015-01-16 11:26:22 考試吧:中國教育培訓第一門戶 模擬考場
考試吧整理“2015年軟件水平考試程序員精選題(9)”供考生參考,更多軟件水平考試資訊和備考資料請關注考試吧軟件水平考試網。

  查看匯總:2015軟件水平考試程序員精選題匯總

  -反轉鏈表

  題目:輸入一個鏈表的頭結點,反轉該鏈表,并返回反轉后鏈表的頭結點。鏈表結點定義如下:

  struct ListNode

  {

  int m_nKey;

  ListNode* m_pNext;

  };

  分析:這是一道廣為流傳的微軟面試題。由于這道題能夠很好的反應出程序員思維是否嚴密,在微軟之后已經有很多公司在面試時采用了這道題。

  為了正確地反轉一個鏈表,需要調整指針的指向。與指針操作相關代碼總是容易出錯的,因此最好在動手寫程序之前作全面的分析。在面試的時候不急于動手而是一開始做仔細的分析和設計,將會給面試官留下很好的印象,因為在實際的軟件開發中,設計的時間總是比寫代碼的時間長。與其很快地寫出一段漏洞百出的代碼,遠不如用較多的時間寫出一段健壯的代碼。

  為了將調整指針這個復雜的過程分析清楚,我們可以借助圖形來直觀地分析。假設下圖中l、m和n是三個相鄰的結點:

  aßbß…ßl mànà…

  假設經過若干操作,我們已經把結點l之前的指針調整完畢,這些結點的m_pNext指針都指向前面一個結點。現在我們遍歷到結點m。當然,我們需要把調整結點的m_pNext指針讓它指向結點l。但注意一旦調整了指針的指向,鏈表就斷開了,如下圖所示:

  aßbß…lßm nà…

  因為已經沒有指針指向結點n,我們沒有辦法再遍歷到結點n了。因此為了避免鏈表斷開,我們需要在調整m的m_pNext之前要把n保存下來。

  接下來我們試著找到反轉后鏈表的頭結點。不難分析出反轉后鏈表的頭結點是原始鏈表的尾位結點。什么結點是尾結點?就是m_pNext為空指針的結點。

  基于上述分析,我們不難寫出如下代碼:

  ///////////////////////////////////////////////////////////////////////

  // Reverse a list iteratively

  // Input: pHead - the head of the original list

  // Output: the head of the reversed head

  ///////////////////////////////////////////////////////////////////////

  ListNode* ReverseIteratively(ListNode* pHead)

  {

  ListNode* pReversedHead = NULL;

  ListNode* pNode = pHead;

  ListNode* pPrev = NULL;

  while(pNode != NULL)

  {

  // get the next node, and save it at pNext

  ListNode* pNext = pNode->m_pNext;

  // if the next node is null, the currect is the end of original

  // list, and it's the head of the reversed list

  if(pNext == NULL)

  pReversedHead = pNode;

  // reverse the linkage between nodes

  pNode->m_pNext = pPrev;

  // move forward on the the list

  pPrev = pNode;

  pNode = pNext;

  }

  return pReversedHead;

  }

  擴展:本題也可以遞歸實現。

  相關推薦:

  2015年軟考信息技術處理員考前知識點總結匯總

  2015年軟件水平考試《程序員》提高練習題匯總

  2015軟件水平考試《程序員》知識點總結匯總

文章責編:wangmeng  
看了本文的網友還看了
文章搜索
軟件水平考試欄目導航
版權聲明:如果軟件水平考試網所轉載內容不慎侵犯了您的權益,請與我們聯系800@exam8.com,我們將會及時處理。如轉載本軟件水平考試網內容,請注明出處。
Copyright © 2004- 考試吧軟件水平考試網 All Rights Reserved 
中國科學院研究生院權威支持(北京)
在線模擬試題
考證通關殺器
考試最新資訊
一次通關技巧
主站蜘蛛池模板: 日韩欧美不卡在线 | 在线精品国内外视频 | sis人成在线视频 | 欧美成人三级网站在线观看 | 天天看片天天爽_免费播放 天天看片夜夜爽 | 你懂的在线免费视频 | 在线免费一区二区 | 福利视频精品 | 久久天天躁夜夜躁狠狠 | 欧美一级裸片 | 黄色片在线观看免费 | qvod激情视频在线观看 | 国产精品2020观看久久 | 国产亚洲欧美日韩在线看片 | 深夜福利影院在线观看 | 国产日产亚洲欧美综合另类 | 最近免费中文字幕大全高清大全1 | 午夜免费片在线观看不卡 | 日韩国产成人 | 18av黄动漫在线观看 | 在线视频h | 欧美乱理伦另类视频 | 日韩在线视频网 | 日韩一级在线视频 | www.日| 麻豆va在线精品免费播放 | 日韩高清在线日韩大片观看网址 | 5252色欧美在线男人的天堂 | 久久精品国产第一区二区 | 亚洲精品视频在线 | 日日添日日摸 | 亚洲嗯啊 | 狂野欧美性猛交xxxx | 成人在线不卡视频 | 最近最好的中文字幕2019免费 | 日韩经典第一页 | 成人亚洲欧美综合 | 日韩深夜福利 | 亚洲第一激情 | 91av福利视频 | 成人欧美一区二区三区视频xxx |