developer tip

공통 데이터 구조를 가진 오픈 소스 C 라이브러리가 있습니까?

copycodes 2020. 8. 13. 23:33
반응형

공통 데이터 구조를 가진 오픈 소스 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 라이브러리는 다음과 같이 고려하는 것이 좋습니다.

http://home.gna.org/gdsl/


Apache Portable Runtime.


CLIB


AT & T의 소프트웨어 도구 .

참고 URL : https://stackoverflow.com/questions/668501/are-there-any-open-source-c-libraries-with-common-data-structures

반응형