스킵리스트 구현중인데 오류가 자꾸 납니다.
글쓴이: lhw3110 / 작성시간: 화, 2016/07/12 - 7:29오후
현재 스킵리스트를 구현중입니다. 구현하다가 노드 포인터를 만들어서
그 노드가 list의 head를 가르키게 만들고 싶은데 cur에 자꾸 아무 값도 들어가지 않습니다.
아래 제 코드인데 고수님들 부탁드립니다.
int skipList(List *plist,List *list2f) {
Node *cur = plist->head; <--------------------------------------------요부분입니다. cur값에 안들어가요ㅜㅜ
Node *car = list2f->head;
while (1) {
cur = cur->next;
if (rand() % 2 == 1) {
Node *newNode = (Node*)malloc(sizeof(Node));
newNode->data = cur->data;
newNode->next = car->next;
car->next = newNode;
cur = cur->next;
car = car->next;
list2f->numOfData++;
if (cur->data == 100) {
break;
}
}
}
return list2f->numOfData;
}
Forums:
검색과 정리를 해봤습니다.
스킵 리스트에서 말하는. 레벨은 그냥 next 횟수로 보이는데요. ㅇ_ㅇ;; 잘 이해가지는 않네요.
만드신 소스를 컴파일과 디버깅이 되는 정도로만 구현해서. 메모리 해제는 안되고 있는 예제를 파일로 첨부합니다.
이미 구현된 예제소스가 있으니. 그것도 참고해보세요.
이중 연결 리스트 예제소스 - 자료구조 책 보시면. 더 이해가 잘 되실겁니다.
http://kldp.org/node/153885
http://kldp.org/node/154578
https://kldp.org/node/155176
스킵 리스트 - 원리
http://kwoncharlie.blog.me/220586254719
스킵 리스트 예제소스
http://www.codeproject.com/Articles/4897/A-Skip-List-in-C
http://www.codeproject.com/search.aspx?q=skip+list&x=0&y=0&sbo=kw
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기