아래 코드는 DLL을 구성하는 코드이다.
2개 함수의 내부 (코드의 표시된 곳 (/* 이곳을 채우세요 */)를 완성하시오.
함수 addToDLL은 정수를 입력받아 DLL의 끝에 추가하는 함수이다.
포인터 head는 DLL의 맨 앞 노드를 가리키는 용도로 사용한다.
함수 getLastElement는 DLL의 마지막 노드의 주소를 반환하는 함수이다.
단, DLL이 비어 있는 경우, getLastElement는 null pointer를 반환해야 한다.
위 2개의 함수를 완성하여 제출하시오.
입력과 출력에는 신경쓰지 않아도 되며,
다른 부분의 코드를 변경하여, 부정한 의도로 점수를 얻고자 하는 경우 중간고사 전체를 0점 처리함.
#include <stdio.h>
#include <stdlib.h>
struct node {
int v;
struct node *next;
struct node *prev;
};
struct node *head = 0;
void addToDLL(int _v)
{
/* 이 곳을 채우세요 */
/* 정수 _v를 DLL의 끝에 추가하는 함수 */
}
struct node *getLastElement()
{
/* 이 곳을 채우세요 */
/* DLL에서 마지막 노드의 주소 값을 반환 */
}
int main(void)
{
int v;
struct node *temp = 0;
while (1)
{
scanf("%d", &v);
if (v == -999)
{
break;
}
addToDLL(v);
}
temp = getLastElement();
printf("%d", temp->prev->next->v);
return 0;
}