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

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

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

考試吧整理“2015年軟件水平考試程序員精選題(9)”供考生參考,更多軟件水平考試資訊和備考資料請關(guān)注考試吧軟件水平考試網(wǎng)。

  左旋轉(zhuǎn)字符串

  題目:定義字符串的左旋轉(zhuǎn)操作:把字符串前面的若干個字符移動到字符串的尾部。如把字符串a(chǎn)bcdef左旋轉(zhuǎn)2位得到字符串cdefab。請實現(xiàn)字符串左旋轉(zhuǎn)的函數(shù)。要求時間對長度為n的字符串操作的復(fù)雜度為O(n),輔助內(nèi)存為O(1)。

  分析:如果不考慮時間和空間復(fù)雜度的限制,最簡單的方法莫過于把這道題看成是把字符串分成前后兩部分,通過旋轉(zhuǎn)操作把這兩個部分交換位置。于是我們可以新開辟一塊長度為n+1的輔助空間,把原字符串后半部分拷貝到新空間的前半部分,在把原字符串的前半部分拷貝到新空間的后半部分。不難看出,這種思路的時間復(fù)雜度是O(n),需要的輔助空間也是O(n)。

  接下來的一種思路可能要稍微麻煩一點。我們假設(shè)把字符串左旋轉(zhuǎn)m位。于是我們先把第0個字符保存起來,把第m個字符放到第0個的位置,在把第2m個字符放到第m個的位置…依次類推,一直移動到最后一個可以移動字符,最后在把原來的第0個字符放到剛才移動的位置上。接著把第1個字符保存起來,把第m+1個元素移動到第1個位置…重復(fù)前面處理第0個字符的步驟,直到處理完前面的m個字符。

  該思路還是比較容易理解,但當(dāng)字符串的長度n不是m的整數(shù)倍的時候,寫程序會有些麻煩,感興趣的朋友可以自己試一下。由于下面還要介紹更好的方法,這種思路的代碼我就不提供了。

  我們還是把字符串看成有兩段組成的,記位XY。左旋轉(zhuǎn)相當(dāng)于要把字符串XY變成YX。我們先在字符串上定義一種翻轉(zhuǎn)的操作,就是翻轉(zhuǎn)字符串中字符的先后順序。把X翻轉(zhuǎn)后記為XT。顯然有(XT)T=X。

  我們首先對X和Y兩段分別進(jìn)行翻轉(zhuǎn)操作,這樣就能得到XTYT。接著再對XTYT進(jìn)行翻轉(zhuǎn)操作,得到(XTYT)T=(YT)T(XT)T=YX。正好是我們期待的結(jié)果。

  分析到這里我們再回到原來的題目。我們要做的僅僅是把字符串分成兩段,第一段為前面m個字符,其余的字符分到第二段。再定義一個翻轉(zhuǎn)字符串的函數(shù),按照前面的步驟翻轉(zhuǎn)三次就行了。時間復(fù)雜度和空間復(fù)雜度都合乎要求。

  參考代碼如下:

  #include "string.h"

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

  // Move the first n chars in a string to its end

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

  char* LeftRotateString(char* pStr, unsigned int n)

  {

  if(pStr != NULL)

  {

  int nLength = static_cast(strlen(pStr));

  if(nLength > 0 || n == 0 || n > nLength)

  {

  char* pFirstStart = pStr;

  char* pFirstEnd = pStr + n - 1;

  char* pSecondStart = pStr + n;

  char* pSecondEnd = pStr + nLength - 1;

  // reverse the first part of the string

  ReverseString(pFirstStart, pFirstEnd);

  // reverse the second part of the strint

  ReverseString(pSecondStart, pSecondEnd);

  // reverse the whole string

  ReverseString(pFirstStart, pSecondEnd);

  }

  }

  return pStr;

  }

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

  // Reverse the string between pStart and pEnd

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

  void ReverseString(char* pStart, char* pEnd)

  {

  if(pStart == NULL || pEnd == NULL)

  {

  while(pStart <= pEnd)

  {

  char temp = *pStart;

  *pStart = *pEnd;

  *pEnd = temp;

  pStart ++;

  pEnd --;

  }

  }

  }

上一頁  1 2 

  相關(guān)推薦:

  2015年軟考信息技術(shù)處理員考前知識點總結(jié)匯總

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

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

文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請注明出處。
Copyright © 2004- 考試吧軟件水平考試網(wǎng) All Rights Reserved 
中國科學(xué)院研究生院權(quán)威支持(北京)
在線模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧
主站蜘蛛池模板: 黄 色 三 级 网站 | 亚洲福利视频网站 | 欧美一级特黄乱妇高清视频 | 午夜激情免费视频 | 日韩专区欧美 | 天堂在线观看视频观看www | 在线观看免费黄视频 | 亚洲三级理论 | 老妇女人一级毛片 | 亚洲日本一区二区三区在线 | 99艾草视频在线播放 | 伊人国产在线播放 | 国产成人免费手机在线观看视频 | 999精品视频这里只有精品 | 国产精品天天操 | 成人免费毛片视频 | 最新黄色免费网站 | 久久免费视频1 | 亚洲视频四区 | 色欧美片视频在线观看 | 中文在线最新版天堂 | 大香网伊人久久综合网2020 | 国产高清不卡一区二区三区 | 成人嗯啊视频在线观看 | 国产欧美日韩视频 | 91亚洲精品第一综合不卡播放 | 浪潮a二三区 | 亚洲精彩视频 | 久久久噜久噜久久综合 | 六月丁香啪啪六月激情 | 日韩区在线观看 | 天天操天天插天天射 | 亚洲国产欧美精品 | 免费一级特黄a | www.色网站 | 91精品国产闺蜜国产在线 | 日本精品一区二区三区在线观看 | 亚洲成在人色婷婷 | 九九在线精品视频播放 | 成人午夜影视全部免费看 | 日日爽 |