十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營(yíng)維護(hù)+專業(yè)推廣+無(wú)憂售后,網(wǎng)站問(wèn)題一站解決
線性表從物理結(jié)構(gòu)上分,有兩種存儲(chǔ)結(jié)構(gòu),一種是順序存儲(chǔ)結(jié)構(gòu),另一種是鏈?zhǔn)酱鎯?chǔ)。這里呢,先講一下順序存儲(chǔ),畢竟,這種存儲(chǔ)方式比較簡(jiǎn)單。
創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),蛟河企業(yè)網(wǎng)站建設(shè),蛟河品牌網(wǎng)站建設(shè),網(wǎng)站定制,蛟河網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,蛟河網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
那么什么是順序存儲(chǔ)結(jié)構(gòu)呢?以下,是書中關(guān)于線性表順序存儲(chǔ)的標(biāo)準(zhǔn)定義:
線性表的順序存儲(chǔ)結(jié)構(gòu),指的是用一段地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)線性表的數(shù)據(jù)元素。
通過(guò)這段標(biāo)準(zhǔn)定義,可以很容易的想到,順序存儲(chǔ)就是通過(guò)數(shù)組這樣的線性存儲(chǔ)結(jié)構(gòu)來(lái)存放相關(guān)元素。因?yàn)?,?shù)組就是一段地址連續(xù)的存儲(chǔ)單元。
那么關(guān)于順序存儲(chǔ)結(jié)構(gòu),有哪些注意點(diǎn)呢?
1.存儲(chǔ)空間大小即數(shù)組最大長(zhǎng)度。很明顯,為了能夠存儲(chǔ)夠相關(guān)的元素,一定要有適當(dāng)?shù)目臻g(MAXSIZE)。
2.存儲(chǔ)位置。存儲(chǔ)空間是一段連續(xù)的地址,所以,數(shù)組的首地址就是該線性表的存儲(chǔ)位置(data)。
3.當(dāng)前線性表的長(zhǎng)度(length)。
以下,線性表的順序存儲(chǔ)結(jié)構(gòu)代碼:
#define MAXSIZE 20 //the max length of the list typedef int ElemType; struct SqList{ ElemType data[MAXSIZE]; int length; };
關(guān)于數(shù)組長(zhǎng)度與線性表長(zhǎng)度。數(shù)組長(zhǎng)度指的是能夠存儲(chǔ)元素的最大的空間量的多少,這個(gè)值是個(gè)常量,它是不變的。而線性表長(zhǎng)度,指的是,當(dāng)前線性表的元素的個(gè)數(shù),它是一個(gè)可以變化的量。
既然線性表的元素是借助數(shù)組來(lái)做的存儲(chǔ)。那么,就不得不注意元素的地址。在內(nèi)存中,每一塊內(nèi)存都有相應(yīng)的地址編碼來(lái)標(biāo)識(shí)這塊區(qū)域。并且,在數(shù)組中,第一個(gè)元素的下標(biāo)位置為0,因?yàn)閿?shù)組中的計(jì)數(shù)是從0開始的。也就是說(shuō),第i個(gè)位置的元素,其在數(shù)組中的存儲(chǔ)位置為i-1。并且,由于不同的數(shù)據(jù)類型所占用的地址不同。在32位計(jì)算機(jī)中,int類型的數(shù)據(jù)占4個(gè)字節(jié),char類型的數(shù)據(jù)占1個(gè)字節(jié)。假設(shè),數(shù)組的數(shù)據(jù)類型是int型,那么,數(shù)組中的每一個(gè)元素都是int型的,也就是,每一個(gè)元素所占地址大小都是4字節(jié)。那么獲取第i+1個(gè)元素的地址,為:LOC(ai+1) = LOC(ai) + 4;若數(shù)組的數(shù)據(jù)類型為c類型,那么第i+1個(gè)元素的地址為:LOC(ai+1) = LOC(ai) + c。
所以,對(duì)于,第i個(gè)數(shù)據(jù)元素ai的存儲(chǔ)位置可以由a1推算得出:LOC(ai) = LOC(a1) + ( i - 1 ) * c。