第二章本章的基本內容是:
1、線性表的邏輯結構2、 線性表的順序儲存及實現 3、線性表的鏈結儲存及實現4、 順序表和煉表的比較5、 線性 表的其他儲存方法
下面是定義的摘抄:
delete
前置條件:表已存在
輸入:刪除位置i
功能:刪除表中的第i個元素
輸出:若刪除成功,返回被刪元素,否則丟擲異常
後置條件:若刪除成功,表中減少乙個元素
儲存結構和訪問結構 :
儲存結構是資料及其邏輯結構在計算機中的表示;
訪問結構是在乙個資料結構上對查詢操作的時間效能的一種描述。 「順序表是一種隨機訪問的儲存結構」的含義為:在順序表這種儲存結構上進行的查詢操作,其時間效能為o(1)。
如何申請乙個節點:
template
struct node
{datatype data;
node*next;
演算法設計的一般步驟:
第一步:確定入口(已知條件)、出口(結果);
第二步:根據乙個小例項畫出示意圖;
第三步:① 正向思維:選定乙個思考問題的起點,逐步提出問題、解決問題;② 逆向思維:從結論出發分析為達到這個結論應該先有什麼;③ 正逆結合;
第四步:寫出頂層較抽象演算法,分析邊界情況;
第五步:驗證第四步的演算法;
第六步:寫出具體演算法;
第七步:進一步驗證,手工執行。
間接定址:是將陣列和指標結合起來的一種方法,它將陣列中儲存資料元素的單元改為儲存指向該元素的指標 。
相對於順序表而言,靜態鍊錶有什麼優點? 優點:在執行插入和刪除操作時,只需修改游標,不需要移動表中的元素,從而改進了在順序表中插入和刪除操作需要移動大量元素的缺點。
缺點:沒有解決連續儲存分配帶來的表長難以確定的問題;靜態鍊錶還需要維護乙個空閒鏈;靜態鍊錶不能隨機訪問。
析構函式:
析構函式用於在乙個物件被撤消時刪除其成員變數,其標誌是在類的名字前面加上「~」。
析構函式特點:
1.析構函式沒有引數和返回值;
2.乙個類只能有乙個析構函式;
3. 析構函式不允許過載。
資料結構C 版 王紅梅 OJ習題
迴圈佇列中利用頭尾指標front rear之間的關係實現隊滿 當隊中僅剩乙個空閒單元時即視為隊滿 隊空條件判斷。迴圈佇列類的定義 部分實現及主函式 如下 勿改動 請在此基礎上補充實現佇列類中未實現的相關演算法 include include using namespace std const int...
資料結構C 版 王紅梅 OJ習題
要求輸入乙個以字串方式儲存的表示式,利用棧,能夠計算表示式的值。表示式中允許的運算子為 函式原型 int calvalue char s s儲存表示式,函式返回值為表示式的值,表示式中的運算元為正整數。輸入 15 3 5 7 輸出 1 5 7 25 12 2 347 created by legen...
資料結構C 版 王紅梅 OJ習題
單向迴圈錶類的定義及部分函式和main函式 請勿改動 如下,請完成length insert reverse和displist演算法。單向迴圈鍊錶類 template class linklist 建構函式 template linklist linklist 析構函式 釋放鍊錶各個結點所佔記憶體單...