順序表
順序表的基本概念
順序表的定義
順序表的初始化
靜態(tài)分配
具體實(shí)現(xiàn):
問題反思
- 如果“數(shù)組”存滿留怎么辦戏挡?
可以放棄治療,順序表長剛開始確定后就無法更改(存儲空間是靜態(tài)的)
- 如果一開始就聲明一個很大的內(nèi)存空間呢寂恬?會存在什么問題兔魂?
浪費(fèi)趾浅,會造成大量的浪費(fèi)。
動態(tài)分配
具體實(shí)現(xiàn)方式
總結(jié)
順序表的基本操作
插入
ListInsert(&L,i,e):插入操作涕蜂。在表L中的第i個位置上插入指定元素e华匾。
詳細(xì)實(shí)現(xiàn)方式:
優(yōu)化之后:
插入操作的時(shí)間復(fù)雜度分析
刪除
刪除操作的時(shí)間復(fù)雜度分析
總結(jié)反思
查找
按位查找
GetElem(L,i):按位查找操作,獲取表L中第i個位置的元素的值
靜態(tài)分配狀態(tài)下的實(shí)現(xiàn)方式
動態(tài)分配狀態(tài)下的實(shí)現(xiàn)方式
用指針加數(shù)組下標(biāo)的方式取數(shù)據(jù)的時(shí)候宇葱,數(shù)組類型決定著取數(shù)據(jù)時(shí)取幾個字節(jié)J菡妗!
按位查找的時(shí)間復(fù)雜度分析
按值查找
結(jié)構(gòu)類型的比較
注意:考研初試中華黍瞧,手寫代碼可以直接用“==”诸尽,無論是ElemType是基本數(shù)據(jù)類型還是結(jié)構(gòu)類型,手寫代碼主要考察學(xué)生是否理解算法思想印颤,不會嚴(yán)格要求代碼完全可運(yùn)行
有的學(xué)校復(fù)試考《C語言程序設(shè)計(jì)》您机,那么。年局。际看。也許就要語法嚴(yán)格一些!