2012-09-21 4 views
1

일부 C++ 코드를 C로 변환해야하며 STL 컨테이너와 관련하여 몇 가지 문제가 있습니다. 원래 C++ 코드에서 set container는 set< pair<int, int>, sortMapped> mySet;과 같이 사용됩니다. sortMapped는 키 값 대신 매핑 된 값을 기준으로 항목을 "정렬"하는 사용자 지정 비교 자입니다. 물론 기본 삽입, 제거 및 반복기는 원래 C++ 코드에도 포함되어 있습니다.C++ 세트 컨테이너에 해당하는 C

내 문제는 누군가가 내 "비교기"를 쓸 수있는 "항상 정렬 된"컨테이너와 같은 C 코드를 알고 있습니까? 고맙습니다.

+1

C에는 표준 컨테이너가 없으므로 직접 작성해야합니다. –

+0

당신에게 아이디어를주기 위해서 C는 문자열을위한 전용 타입을 가지고 있지 않습니다. C는 단지 C++에서 사용되는 것만 큼, 정말로 원시 타입과 컨테이너가 전혀없는 콜렉션을 가지고 있습니다. , C에서 C++ 컨테이너의 동등한 개념은 데이터의 기본 배열 일 수 있으며 메서드/함수가 첨부되어 있지 않으므로 배열 이상을 원한다면 모든 것을 직접 작성해야합니다. – Ken

+0

@Ken, 다른 사람들이 이미 글을 쓴 적이 없으며 다른 사람들이 사용하도록 공유 했습니까? 아니면 모두가 직접 작성해야합니까? C 세계에 제 3 자 개발자가 없습니까? –

답변

6

C 언어에는 그러한 컨테이너가 없습니다. C에는 STL과 같은 좋은 점이 없으므로 직접 작성해야합니다.

2

당신은 이진 트리에 대한 선택의 몇

  1. 쓰기 코드가 있습니다.
  2. B- 트리에 대한 코드를 작성하십시오.
  3. 해시 테이블에 대한 코드를 작성하십시오. 그러나 오히려의 성격과 용도에 따라 달라집니다 - C.

에 작성하는 간단 ... 그리고 아마도 몇 가지 다른 데이터 구조를 놓칠 수있는 문제에 대한 다른 솔루션의

  • 생각해 문제의 데이터.

    편집

    당신은 항상 구글 I 코드의 예를 얻기 위해 위에서 언급 한 데이터 구조에서 작업 할 수 있습니다.