#include <stdio.h> #include <stdlib.h> struct node { int data; struct node* next; }; struct node* head = 0; // ------------------------------------------- /* 아래 SLL관련한 3개 함수를 구현하시오. void addToSLL(int _d) void insertIntoSLL(int _a, int _b) 값 _a를 갖는 노드의 '뒤'에, 값 _b를 갖는 노드를 신규 추가한다. 만약, 값 _a를 갖는 노드가 없으면 추가를 하지 않는다. SLL node들은 서로 다른 값을 가지고 있다. void delFromSLL(int _d) 값 _d를 갖는 노드를 찾아 삭제한다. 그런 노드가 없으면 없으면 return SLL node들은 서로 다른 값을 가지고 있다. */ // ------------ 이하 수정금지 --------------------- int main(void) { int d; int i; struct node* k = 0; while (1) { scanf("%d", &d); if (d < 0) { break; } addToSLL(d); } insertIntoSLL(-d, -d*10); insertIntoSLL(40, -d*20); delFromSLL(-d); delFromSLL(-d/2); printf("%d ", head->data); k = head; while(k->next != 0) { k = k->next; } printf("%d", k->data); return 0; }