다음 C 프로그램의 실행 결과는?#include <stdio.h&… | [7급 국가직 자료구조론] 25년 1회차 기출문제 상세 페이지
1[7급 국가직 자료구조론] 25년 1회차
다음 C 프로그램의 실행 결과는?#include <stdio.h>
#include <stdlib.h>
typedef struct ListNode {
int value;
struct ListNode* next;
} ListNode;
int func(ListNode* p, int n) {
int i, sum = 0;
for(i = 0; i < n; i++) {
sum += p->value;
p = p->next;
}
return sum;
}
int main() {
int i, s, SIZE = 5;
ListNode* p[SIZE];
for(i = 0; i < SIZE; i++) {
p[i] = (ListNode*)malloc(sizeof(ListNode));
p[i]->value = i;
}
for(i = 0; i < SIZE-1; i++)
p[i]->next = p[i+1];
p[SIZE-1]->next = p[0];
s = func(p[4], 7);
printf("%d", s);
return 0;
}
1
14
2
15
3
16
4
17
해설
원형 연결 리스트에서 값 4인 노드부터 7개 노드의 값을 더하면 14이다.
p[i]의 value는 i이고 p[4]의 next가 p[0]이라 원형으로 이어진다.
방문 값: 4, 0, 1, 2, 3, 4, 0
합:
오류나 개정된 내용이 보이면 알려주세요