노드 관련 프로그램 작성
앤드류
머리노드, 꼬리노드 정수형 데이터 노드 4개를 생성한 후,
각 데이터의 값을 출력하고, 정수형 데이터 노드를 삭제하는 프로그램을 작성해야 하는데요.
힌트에
정수형 데이터 노드 생성은
void InsertNode(Node *pPrev, int data)
{
node *pNode=NULL;
pNode=(Node*)malloc(sizeof(Node));
pNode-nData=nData;
pNode-pNext=pPrev-pNext;
pPrev-pNext=pNode;
}
노드 삭제는
void DeleteNode(Node *pPrev)
{
Node*pDelNode=pNode-pNext;
pPrev-pNext=pDelNode-pnext;
free(nDelNode)e;
}
노드 탐색(선형탐색)은
void SearchNode(Node *pPrev)
{
printf(%d, pPointer-nData);
if(pPointer-pNext!=NULL)
SearchNode(pPointer);
}
이렇게 하라고 나와 있습니다.
그런데 값을 출력도 해야하고,
4개를 한꺼번에 만드는 방법은 없나...해서 질문합니다.
머리노드, 꼬리노드 정수형 데이터 노드 4개를 생성한 후,
각 데이터의 값을 출력하고, 정수형 데이터 노드를 삭제하는 프로그램은 어떻게 짜나요?
-
나라찬
리스트의 초기화(머리노드와 꼬리노드 생성)말고 노드를 4개 만들려면 InsertNode 함수에 동적할당을 4번 하시면됩니다. 인자를 정수 4개까지 주도록 바꾸구요. 그렇게 되면 InsertNode함수를 한번 호출 할려면 인자를 포인터 뿐 아니라 정수 값도 4개를 줘야 하고 그렇게 됨으로써 노드 4개가 만들어지는 함수가 됩니다