數(shù)據(jù)結(jié)構(gòu)(陳越版)

C語(yǔ)言基礎(chǔ)知識(shí)簡(jiǎn)要回顧

基礎(chǔ)知識(shí)回顧

實(shí)現(xiàn)抽象數(shù)據(jù)類(lèi)型首先要考慮數(shù)據(jù)如何存儲(chǔ),其次在確定存儲(chǔ)方式的基礎(chǔ)上,相應(yīng)的操作如何實(shí)現(xiàn)。

2.1存儲(chǔ)

高級(jí)語(yǔ)言提供了如數(shù)組、鏈表、結(jié)構(gòu)體等數(shù)組織基本實(shí)現(xiàn)方式。不同方式有不同優(yōu)缺點(diǎn)

2.1.1 數(shù)組
  • 最基本的數(shù)據(jù)類(lèi)型,相同數(shù)據(jù)類(lèi)型的有序集合。
  • 數(shù)據(jù)具有隨機(jī)存儲(chǔ)優(yōu)點(diǎn)(數(shù)據(jù)A[i]存儲(chǔ)與下標(biāo)i無(wú)關(guān))
2.1.2 類(lèi)型定義
  • **typedef **建立已經(jīng)定義好了的數(shù)據(jù)別名,從而使得代碼維護(hù)簡(jiǎn)單,具有更好的可讀性和移植性。
2.1.3 指針
  • C語(yǔ)言中特色之一,使用指針可以對(duì)復(fù)雜數(shù)據(jù)進(jìn)行處理,對(duì)計(jì)算機(jī)內(nèi)存進(jìn)行分配控制,也可以實(shí)現(xiàn)函數(shù)調(diào)用返回多個(gè)值。
  • 指針基本運(yùn)算
  • 指針與數(shù)組區(qū)別
    • 幾乎相同,數(shù)組名的值其實(shí)就是數(shù)組基地址,即第一個(gè)元素的地址,可以看成固定地址,可以看成一個(gè)指針常量
  • 用指針實(shí)現(xiàn)內(nèi)存的動(dòng)態(tài)分配
2.1.4 結(jié)構(gòu)
  • 結(jié)構(gòu)類(lèi)型允許將一些數(shù)據(jù)分量聚合成一個(gè)整體的數(shù)據(jù)類(lèi)型
    • 結(jié)構(gòu)變量的使用 結(jié)構(gòu)成員操作符.
      • 結(jié)構(gòu)變量名.成員名
    • 結(jié)構(gòu)數(shù)組
    • 結(jié)構(gòu)指針
      • *訪(fǎng)問(wèn)
      • ->訪(fǎng)問(wèn)
    • 共用體
2.1.5 鏈表
  • 基礎(chǔ)的數(shù)據(jù)結(jié)構(gòu)、可以克服數(shù)組需要預(yù)先知道數(shù)據(jù)大小的缺點(diǎn),充分利用內(nèi)存空間,實(shí)現(xiàn)靈活內(nèi)存管理
  • 單向鏈表
    • 結(jié)構(gòu)
    • 操作
      • 插入節(jié)點(diǎn)
      • 刪除節(jié)點(diǎn)
      • 遍歷
      • 初始化
  • 雙向鏈表
  • 循環(huán)鏈表

2.2 操作實(shí)現(xiàn)

  • 分支控制語(yǔ)句,循環(huán)控制語(yǔ)句和順序執(zhí)行結(jié)構(gòu)
  • 模塊化
    • 函數(shù)是模塊化設(shè)計(jì)的基本手段
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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