數(shù)據(jù)結構一順序表

請尊重作者的勞動成果,如需轉(zhuǎn)載請注明出處,謝謝!

如果覺得不錯,可以關注我或者點贊,這就是你們對我最大的鼓勵!



數(shù)據(jù)結構是算法的副產(chǎn)品,也就是說我們使用算法的時候,會創(chuàng)造出一些數(shù)據(jù)結構來實現(xiàn)我們的想法。那么想要更好的理解某些算法,就需要了解數(shù)據(jù)結構啦。

首先,我們來認識一個概念就是我們常用的數(shù)組,其實就是指針,如果不知道指針是什么,可以點擊?指針

實驗得真知

實際上,創(chuàng)建數(shù)組就是申請一塊內(nèi)存單元數(shù)組與指針是等價的。

數(shù)組的內(nèi)存示意圖如下所示

指針就是存儲內(nèi)存地址的變量,就像我們找房子一樣,通過門牌號找房子。

門牌號就是內(nèi)存地址,房子就是我們存放的值。

* 這個符號代表訪問該地址對應的變量,&代表獲得該變量的地址

現(xiàn)在,我們開始講第一種數(shù)據(jù)結構,也是最基礎的一種數(shù)據(jù)結構------線性表。

那么什么是線性表呢,直觀的來看,就是下圖

線性表就是一個又一個像上圖綠色的個體串起來一種結構。綠色的方格我們稱作線性表的數(shù)據(jù)元素。 ? 數(shù)據(jù)元素即可以放基本數(shù)據(jù)類型,又可以放自定義的結構體。

線性表很靈活,它可以根據(jù)需要伸長或者縮短,即既可以插入,又可以刪除元素。

那么,如何實現(xiàn)呢?要求有

一、能夠存放各種類型數(shù)據(jù)

二、能夠通過自己訪問下一個元素

三、長度能夠伸長和縮短


數(shù)組能夠滿足前兩條,然而為了能夠滿足第三條,我們就需要使數(shù)組大小能夠變化,即創(chuàng)建動態(tài)大小的數(shù)組。也稱為順序表。

使用C語言實現(xiàn)基本增刪改查如下圖

容易發(fā)現(xiàn),使用順序表改和查十分方便,但是增和刪卻很麻煩,每次增或刪都要將數(shù)組元素進行挪動。這是由于數(shù)據(jù)的結構所決定的。不同的數(shù)據(jù)結構對算法有著至關重要的影響。

當我們經(jīng)常使用改和查時,我們使用這種結構比較方便。

但當使用增和刪比較頻繁時,我們可以使用另外一種結構,叫鏈表。鏈表實現(xiàn)增和刪比順序表方便很多。

下節(jié)我們將介紹鏈表

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容