程式設計珠璣 記憶體交換

2021-06-21 05:02:13 字數 424 閱讀 7933

舉例說明如果有這樣的乙個陣列,pstr="abcdefg",現在呢,假設a="abc",b="defg",pstr=ab,現在想要pstr=ba,那應該怎麼做呢,傳統的做法是開闢乙個臨時陣列,將a的內容複製到臨時陣列中,然後將b的內容前移a的長度個單位,然後將臨時陣列中儲存的a的內容複製在pstr的後面,這樣,我們就完成了,該功能,這樣的做法是使用了,空間換取時間的做法,具有較大的空間開銷,但是我們其實還有另外一種做法

pstr=ab ,那麼我們可以分為三步進行,第一步獲得a的逆序,a(r)第二步獲得b(r),,第三步是獲得pstr的逆序,這樣我們只需要乙個單位元素長度的記憶體就能完成該項操作,使用的是時間換取空間,

#includeusing namespace std;

void reverse( char* ps,int num)

{ for(int i=0;i

程式設計珠璣 旋轉交換技巧

1.問題描述 將乙個n元一維向量向左旋轉i個位置。例如,當n 8且i 3時,向量abcdefgh旋轉為defghabc。簡單的 使用乙個n元的中間向量在n步就能夠完成該工作,你能否僅使用數十個額外位元組的儲存空間,正比於n的時間內完成向量旋轉?2.解決思路 旋轉向量x其實就是交換向量ab的兩段,得到...

程式設計珠璣 續(程式設計珠璣 修訂版)

經久不衰的電腦科學名著 集深邃思想 實戰技術與趣味軼事於一冊 領略電腦科學之美 程式設計珠璣 續 作譯者介紹 譯者 錢麗豔 劉田叢書名 圖靈程式設計叢書 出版社 人民郵電出版社 isbn 9787115251510出版日期 2011 年5月 程式設計珠璣 續 是電腦科學方面的經典名著 程式設計珠璣 ...

程式設計珠璣 心得

第一部分 基礎 第1章 開篇 1.1 一次友好的對話 1.2 準確的問題描述 1.3 程式設計 1.4 實現概要 1.5 原理 1.6 習題 1.7 深入閱讀 第2章 啊哈!演算法 2.1 三個問題 2.2 無處不在的二分搜尋 2.3 基本操作的威力 2.4 排序 2.5 原理 2.6 習題 2.7...