在C 中煉表重不重要?

時間 2021-05-06 10:35:21

1樓:Axio00SY

拋開語言,給樓主舉個例子,Linux核心中使用了大量的雙向迴圈鍊錶結構來組織資料(包括空閒記憶體塊列表、記憶體頁鍊錶、程序列表、裝置鍊錶、檔案系統列表等資料組織),所以當然重要了。。。

清華ucore

2樓:

從理解層面上來講,非常重要:鍊錶是你進一步學習更複雜的資料結構的基礎。

從應用層面上來講,不是很重要:作為乙個單一資料結構存在時的鍊錶,應用範圍並不廣。你看某 R 開頭的語言,因為語言層面的限制,標準庫提供的鍊錶是個殘廢,並且還在文件裡勸你絕大多數情況下都沒有必要使用鍊錶,然而至今活得好好的,也沒人跳出來說我們需要乙個功能完善的鍊錶。

3樓:清予

當然重要!

首先在程式實現上,如果資料量較大,採用陣列或者stl::vector,將占用整塊的記憶體,記憶體的申請也有失敗的時候,像vector,雖然預留了空間,但在資料量超過最大空間的時候也會找一塊更大的空間將整個記憶體內容挪過去。不僅如此,在插入的操作時,後續的所有都需要移動,效率會很低。

最後,記憶體的堆,資料結構的樹、圖或者其他的一些知識都是有鍊錶的思想存在。

綜上所述,個人認為,鍊錶非常的重要!

4樓:

鍊錶是處理非線性/可伸縮資料結構的基礎,入門了鍊錶之後才可能正確掌握樹/圖/deque等初級資料結構知識。

以實現乙個fifo隊列為例,放在array上的ringbuffer固然訪存效率高,但是無法處理資料量伸縮的問題。這時候使用鍊錶串接這些ringbuffer就可以解決這個問題。

5樓:

寫庫的時候比較常用,寫邏輯的時候不常用。

hash表的一種實現方法就是陣列+若干鍊錶;所謂的LRU資料結構,就是hash+乙個鍊錶實現;redis裡面的定時器,用的是鍊錶;asio裡面的各種佇列,用的都是鍊錶。

寫邏輯的時候一般vector就夠用了。

但是如果你自己不會用C++實現鍊錶,以及鍊錶的各種操作,那就是沒入門。鍊錶的操作在面試題裡面是很常見的。

讀大學重不重要?

溫妮 分人,有的人不上大學,靠自己也能過的很好,但是這些人是少數。大多數人都是上大學拿到文憑,然後靠這個敲門磚去找乙份工作,你可以看看招聘,最低要求都是本科。任何選擇都有可能會後悔,但是上大學選擇更多 劉一凡 讀大學讀的不是書,是人 是人成熟前,最後一次無憂無慮的旅途 是你多少年後,偶爾想起仍不斷回...

開心到底重不重要?

對不起,比愛情重要。我一輩子可以愛很多人。但這一輩子只有乙個我在從頭到尾陪伴自己。我記得 心靈捕手 上那個教授說天才懦弱,說他一定沒有愛乙個人超過愛自己,我也記得教授談論自己老婆時眼裡的溫柔,我相信我也會愛乙個人超過愛自己,但前提是,我先愛自己,然後我愛乙個人,然後我愛他超過愛自己。而不是,我連自己...

外貌,穿著,到底重不重要?

非常重要,但不是最重要的。高富帥,3者裡面外貌就佔2項 高帥 現代社會最重要的還是富。我的三觀也許有問題,但被社會毒打幾十年你就知道了,什麼愛情,健康,忠誠,這些所謂無價的東西其實用錢都能買到。當然重要了,像這麼精緻的小姐姐,走在路上誰不願意多看幾眼,這也顯示出女人的魅力。這樣的女人娶回家做老婆他不...