什么是線性表
有限個(gè)同類的數(shù)據(jù)元素構(gòu)成的序列佛致,元素之間是一一對(duì)應(yīng)的線性關(guān)系辙谜。
程序設(shè)計(jì)中的數(shù)組和字符串數(shù)據(jù)類型就是線性表的典型應(yīng)用。
線性表常用于對(duì)大量數(shù)據(jù)元素進(jìn)行隨機(jī)存取的情況装哆。
運(yùn)算和實(shí)現(xiàn)
線性表的實(shí)現(xiàn)方法:
- 鏈表:
- 順序:.
線性表常用的運(yùn)算:
- 遍歷按照某方式,逐一訪問線性表中的每一個(gè)數(shù)據(jù)元素萍桌,并執(zhí)行讀寫或查詢等操作凌简。
- 查詢:按照數(shù)據(jù)元素的關(guān)鍵字(是數(shù)據(jù)元素區(qū)別于其他元素的一個(gè)特定的數(shù)據(jù)項(xiàng))定位數(shù)據(jù)元素的過程。數(shù)據(jù)的插入,刪除都需要查詢定位數(shù)據(jù)元素藕施,空的線性表無法查詢。
- 插入:在保持原有的儲(chǔ)存結(jié)構(gòu)的前提下矛市,根據(jù)插入要求诲祸,在適當(dāng)?shù)奈恢貌迦朐亍2迦霑r(shí)需要有足夠的空間救氯,空間不足時(shí)插入,線性表會(huì)溢出着憨。插入某一元素后午阵,前面元素不影響,后續(xù)元素指針后移植袍。
- 刪除:先查找后刪除,后續(xù)元素前移于个。
細(xì)說鏈表
鏈表中的元素可以儲(chǔ)存在內(nèi)存的任何地方。因此元素在內(nèi)存上并非緊靠在一起厅篓。
鏈表的每個(gè)元素儲(chǔ)存了下一個(gè)元素的地址,從而使一系列隨機(jī)的內(nèi)存地址串在一起或链,夠成我們邏輯上的鏈表档押。
在鏈表中添加元素可以簡單解釋為:將數(shù)據(jù)元素放入內(nèi)存,并將其地址存儲(chǔ)到前一個(gè)鏈表元素中令宿。
鏈表中的查詢需要從頭到尾,假如需要同時(shí)讀取所有元素粒没,,鏈表效率很高(讀取 了第一個(gè)元素爽撒,根據(jù)其中的地址再讀取第二個(gè)元素入蛆,以此類推)安寺。但假如只需要讀取鏈表中的某一個(gè)元素,則必須讀取前面所有元素挑庶,此時(shí)鏈表效率很低。
數(shù)組則稍有不同迎捺,數(shù)組在內(nèi)存上相互靠近的查排,假如需要讀取隨機(jī)的一個(gè)元素(數(shù)組a[5],要查詢第五個(gè)元素)岖瑰,因?yàn)槭椎刂?0,通過對(duì)首地址加上4個(gè)數(shù)據(jù)單元(此處假設(shè)為1)蹋订,則第五個(gè)元素地址即為04,而不需要像鏈表一樣逐一查詢每一個(gè)元素直至目標(biāo)元素露戒。