在C語言中模仿java的LinkedList集合的使用(不要錯過哦)


在C語言中,多個數據的儲存通常會用到數組。但是C語言的數組有個缺陷,就是固定長度,超過數組的最大長度就會溢出。怎樣實現N個數儲存起來而不被溢出呢。

學過java的都知道,java.util包里有一個LinkedList類,它是一個鏈狀的集合。

而且你可以看到,LinkedList把它的增刪改查操作,都封裝成對應的方法。

眾所周知,C語言是一門面向過程的語言,那我們該如何利用面向對象的思想用C語言實現類似LinkedList集合呢。

接下來,我們用C語言來做一遍:

 

首先,寫一個結構體(LinkedList集合),模仿java中LinkedList的一些方法,結構體里面放的是函數指針,這樣就能指向對應的函數了。

為了方便儲存,在C中,定義全局變量

在java中,集合是new出來的,為此,我們也把創建集合封裝成一個函數。

使用malloc函數就是向內存開辟空間給list存放數據

下面是LinkedList集合的函數實現(舉例sava添加方法,其他的以此類推,學會了這個,你就能舉一反三了):

接下來,main函數這樣調用。C語言唯一沒有的就是泛型。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM