그래서 나는 연결 목록을 반복하고 목록에서 다음 노드를 얻는 것에 대해 꽤 잘 이해하고 있습니다. 이제 나는 다른 방향으로 가려고했지만, 그것이 보이는 것만 큼 쉽지 않다는 것을 곧 깨달았습니다. 앞뒤로 반복 할 수있는 배열과는 다릅니다. 난 당황한 것 같다.
그래서 1-> 2-> 3-> 4-> NULL 목록이 있다면 노드 3의 위치가 주어지면 노드 2의 주소를 어떻게 얻을 수 있습니까?
나는 노드 3까지 모든 항목을 반환하는 아래 코드를 엉망으로 만들기 시작했습니다. 이전 노드를 어떻게 얻을 수 있는지 모르겠습니다. 그런데 searchList()
node-> data 값을 주면 노드의 주소를 반환합니다. 위의 목록을 사용하면 searchList(3)
데이터 멤버가 3 인 노드의 주소가 반환됩니다.
struct node {
int data;
node* next;
};
void llclass::getPrevious() {
node *stop = searchList(nodeItem),
*start = head;
while (start != stop) {
cout << start->data << endl;
start = start->next;
}
}
값이 입력으로 제공된 노드의 이전 노드를 가져오고 싶은 것처럼 들립니다. 이렇게해야합니다.
node* llclass::getPrevious(int item)
{
node* previous = NULL;
node* current = head;
while(current)
{
if (current->data == item)
{
return previous;
}
else
{
previous = current;
current = current->next;
}
}
return NULL;
}
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다