key, value 를 알맞은(?) 자료 구조에 넣기?
글쓴이: 초보입니다. / 작성시간: 월, 2004/04/26 - 8:13오후
예를 들어 아래와 같은 key , value 값들이 있다고 할때
==name== ==value==
"Seoul" 500
"NewYork" 100
"Pusan" 400
: :
제 생각엔 2차원 배열로.. 관리가 가능 할 줄 알았습니다.
헌데.. 아래와 같이 사용했을때.. 2차원 배열은 알맞지 않단걸
알았습니다.
#include<stdio.h> main() { int i; char a[][8] = {"Seoul","NewYork","Pusan", ....}; for(i=0 ; i<5 ; i++) printf("%s\n",a[i]); }
위와 같이.. name 값(스트링) 만을 넣을 수가 있었습니다.
그렇담 key, value 를 넣기 알맞은 자료 구조는 무엇인가요???
위 자료를 넣고.. 검색에 사용할 생각입니다.
조언 부탁드리겠습니다.
Forums:
자료구조에는...
배열 말고도 구조체라는 것이 있지요...
키워드가 struct 였던가.... 기억이 가물가물 하네요 ^^;;
C 문법책 좀 찾아봐야겠습니다..
담배 고만 펴야겠다...
C++경우에 map< string, int > 정도면 손쉽게
C++경우에 map< string, int > 정도면 손쉽게 해결할 수 있는 자료형태 같습니다.
C로 하시려면 자료 구조에 대한 좋은 텍스트를 구하시고, 해쉬나 맵 같은 자료 구조를 찾으시면 자세히 나와 있습니다.
저도 bugii 님께 동감..
stdmap<class KEY, class VALUE>
삽질의 대마왕...
[code:1]strcut test{ cha
---------------------------------------------------------------------------
http://jinhyung.org -- 방문해 보세요!! Jenix 의 블로그입니다! :D
associative memory
associative memory 형태의 자료구조를 쓰시려 하시군요
c++라면 위의 여러 분들이 말씀하신 map이 ok
c로 하시면 hash table을 쓰시던지 아니면
AVL tree등의 balance 트리를 inner representaion으로 쓰고 밖에 이 트리를 wrapping하는 function을 만들어서 쓰면 되겠네요.
Life rushes on, we are distracted
댓글 달기