공통 데이터 구조를 가진 오픈 소스 C 라이브러리가 있습니까? [닫은]
연결된 목록, 해시 테이블 등과 같은 일반적인 재사용 가능한 데이터 구조를 가진 C 라이브러리를 찾고 있습니다. Kyle Loudon의 Mastering Algorithms with C (Paperback)와 함께 배포 된 소스와 같은 것 입니다.
BSD queue.h 에는 다음이 있습니다.
- SLIST = 단일 연결 목록
- LIST = 이중 연결 목록
- SIMPLEQ = 단일 연결 대기열
- TAILQ = 이중 연결 대기열
BSD tree.h 에는 다음이 있습니다.
- RB-빨강-검정 나무
- SPLAY-스플레이 트리
자세한 내용은 queue (3) 및 tree (3) 매뉴얼 페이지를 참조하십시오. 나는 그것들이 종속성이없는 순수한 C 매크로이기 때문에 정말 좋아합니다 (libc도 아님). 또한 BSD 라이선스를 사용하면 GPL에 대한 회사 제한에 대해 걱정할 필요가 없습니다.
Gnome은 유용한 데이터 구조 및 기타 유틸리티가 많은 Glib 라는 우수한 라이브러리를 제공합니다 .
gnu 이식성 라이브러리 인 gnulib .
소스 코드로 배포됩니다. 이 목록은 다른 것들의 TON을 포함하는 모듈 목록 에서 가져온 것입니다. 한 가지 흥미로운 점은 "c-stack : 스택 오버플로 처리로 인해 프로그램 종료"입니다.
- 명부
- 배열 목록
- carray-list
- 연결 목록
- avltree-list
- rbtree 목록
- 연결된 해시 목록
- avltreehash 목록
- rbtreehash 목록
- sublist (다른 목록이 지원하는 순차 목록 데이터 유형.)
- oset (추상 순서 세트)
- 어레이-오셋
- Avltree-oset
- rbtree-oset
SGLIB 는 우수한 일반 데이터 구조 라이브러리입니다. 라이브러리는 현재 다음에 대한 일반적인 구현을 제공합니다.
배열 정렬
연결 목록
정렬 연결 목록
이중 연결 목록
빨간색-검정 트리
해시 컨테이너
glib보다 빠르고 빠릅니다. 표준 템플릿 라이브러리에서 영감을 얻었습니다. 여기에서 다운로드
또 다른 해결책은 매력적인 카오스 소프트웨어 입니다. C 매크로 라이브러리 :
kbtree.h : C의 효율적인 B- 트리 라이브러리.
khash.h : C의 빠르고 가벼운 해시 테이블 라이브러리.
kvec.h : C의 간단한 벡터 컨테이너.
Sglib 및 매력적인 카오스 소프트웨어는 C 매크로 라이브러리입니다. C에서 제네릭 컨테이너를 구현하기 위해 void *를 사용하는 것은 비효율적 일 수 있습니다. C 매크로는 C ++ 템플릿을 모방하고 C ++ 템플릿만큼 효율적입니다.
GDSL 라이브러리는 다음과 같이 고려하는 것이 좋습니다.
Apache Portable Runtime.
AT & T의 소프트웨어 도구 .
'developer tip' 카테고리의 다른 글
Android에서 "애플리케이션 설정"을 수행하는 가장 좋은 방법은 무엇입니까? (0) | 2020.08.13 |
---|---|
Spring @Configuration 클래스 이해 (0) | 2020.08.13 |
Angular JavaScript 코드를 디버깅하는 방법 (0) | 2020.08.13 |
Twitter 부트 스트랩이 글꼴 크기에 픽셀을 사용하는 이유는 무엇입니까? (0) | 2020.08.13 |
git이 파일의 향후 개정을 무시하도록하려면 어떻게해야합니까? (0) | 2020.08.13 |