2013-05-07 2 views
0

난 채워진 링크 목록을 임의의 숫자로 정렬하려고합니다. 필자가 만든 기능은 제대로 작동하지 않습니다. 나는 무엇이 잘못되었는지를 알 수 없다. 당신은 잘못된 요소와 비교하는삽입 정렬 링크 목록 C++

void linked_list::SortList() 
{ 
    if(is_empty()) 
    { 
     return; 
    } 
    for(node_t *it =head; it!=tail; it = it->next) 
    { 
     int valToIns = it->value; 
     node_t *holePos = it; 
     while(holePos->prev && valToIns < it->prev->value) 
     { 
     holePos->value = holePos->prev->value; 
     holePos = holePos->prev; 
     } 
     holePos->value = valToIns; 
    } 
} 

답변

1

,

while(holePos->prev && valToIns < it->prev->value) 

는해야한다로 한 holePos 점 이전 값으로 valToIns을 비교하기 위해

while(holePos->prev && valToIns < holePos->prev->value) 

.