Re: [問題] 請問Linux C有類似List<T>的用法嗎?

看板C_and_CPP作者 (The US President)時間7年前 (2018/02/12 13:20), 7年前編輯推噓18(1805)
留言23則, 19人參與, 7年前最新討論串2/2 (看更多)
因為我也曾經有過類似的需求 而寫了一套一系列的 linked list 容器 https://github.com/kevin-dong-nai-jia/OpenGC3 更加注重在 性能的優化和代碼的簡潔性 目前以 MIT License 發佈 我的實作與 Linux list_head 的差別如下: 1. 當前置定義 #define CC_STRICT 可以「完全遵守」使用 C99+ 標準規範 不使用任何 GCC C編譯器的擴展語法 但是 Linux 的實作不能 2. 提供多種 list 的資料結構 包含 doubly/singly/exclusive-or list 但是 Linux 的實作只有第一種 3. 使用 non-intrusive 容器的設計 宣告和操作 list 變得非常地容易 只需要使用 ccdll(int) list; 這與 Linux 使用方式的有巨大的改進 4. 最重要的是 它優異的的設計使得它的效能可以 在處理極大量資料時大大提升 https://i.imgur.com/ehK1uDZ.png
5. 另一個最重要的是 它的多種測資已經通過 valgrind 的檢查 不會造成內存外泄和非初始化資料存取 而且擁有詳細的 documentations 描述每個操作的使用方法和巨集依賴關係 這是 OpenGC3 專案被託管的地方 https://github.com/kevin-dong-nai-jia/OpenGC3 這是一個簡易的範例 介紹如何使用 ccdll 對檔案基於行的排序 ./sort-by-lines <path-to-file> <strncmp-3rd-arg> https://gist.github.com/kevin-dong-nai-jia/834e3d16c3c7f0f8496ef23945dbf7ca 希望你會喜歡 >皿< 喜歡並對你有幫助的話請幫我在上方點擊一顆星星! 這會是我最棒的過年禮物(燦笑 ※ 引述《takesi5200 (小咪)》之銘言: : 問題(Question): : 不好意思,.NET有List<T>集合, : 可以很方便把資料放入集合裡。 : 小妹因公司需求要在Linux平台上 : 也開發類似此方法。 : 請問Linux C有沒有類似方法呢? : 懇請個位高手指導,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 82.196.1.179 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1518412852.A.7E6.html ※ 編輯: DonaldTrunnp (146.185.185.122), 02/12/2018 13:29:06

02/12 13:28, 7年前 , 1F
推~~
02/12 13:28, 1F

02/12 13:55, 7年前 , 2F
總統先生的容器
02/12 13:55, 2F

02/12 14:28, 7年前 , 3F
好猛
02/12 14:28, 3F

02/12 14:35, 7年前 , 4F
厲害了這
02/12 14:35, 4F

02/12 14:48, 7年前 , 5F
偉大的祖國統領
02/12 14:48, 5F

02/12 16:02, 7年前 , 6F
你是不是在WWE的摔角擂台上寫出來的??
02/12 16:02, 6F

02/12 16:03, 7年前 , 7F
總統級的 container,已跪
02/12 16:03, 7F

02/12 16:07, 7年前 , 8F
可是瑞凡, C# 通常是用 array list 不是 linked list
02/12 16:07, 8F

02/12 16:19, 7年前 , 9F
跪了
02/12 16:19, 9F

02/12 16:49, 7年前 , 10F
點進去才發現按過了XE
02/12 16:49, 10F

02/12 16:49, 7年前 , 11F
XD
02/12 16:49, 11F

02/12 20:47, 7年前 , 12F
沒想到在C#簡單的List拿到C/C++竟然這麼複雜
02/12 20:47, 12F

02/12 20:57, 7年前 , 13F
不, 只有 C 而已, C++ 的 STL 有 std::list<T>
02/12 20:57, 13F

02/12 21:27, 7年前 , 14F
c++還有boost MPL庫的list工具
02/12 21:27, 14F

02/12 22:00, 7年前 , 15F
已給星
02/12 22:00, 15F

02/12 22:36, 7年前 , 16F
謝謝 >皿<
02/12 22:36, 16F

02/12 23:26, 7年前 , 17F
這不是專題特優的大大嗎
02/12 23:26, 17F

02/12 23:26, 7年前 , 18F
不知道為什麼, c 標準不加入這些資料結構
02/12 23:26, 18F

02/13 01:49, 7年前 , 19F
各種黑魔法 已跪
02/13 01:49, 19F

02/13 02:37, 7年前 , 20F
用macro幹出container,超醉...
02/13 02:37, 20F

02/13 23:40, 7年前 , 21F
強~~~~~~
02/13 23:40, 21F

02/15 15:15, 7年前 , 22F
02/15 15:15, 22F

02/15 17:57, 7年前 , 23F
補給星了,拜讀 macro 語法中 >_<
02/15 17:57, 23F
文章代碼(AID): #1QWIGqVc (C_and_CPP)
文章代碼(AID): #1QWIGqVc (C_and_CPP)