#include <stdio.h>
#include <stdlib.h>

typedef struct _NODE {
 char Data;
 struct _NODE *Next;
 struct _NODE *Prev;
} NODE;

NODE *head , *end, *temp;
NODE *temp1 , *temp2, *temp3, *temp4;

void Initialize(void);
void InsertNode(NODE *);
void DeleteNode(NODE *);

void main()
{
 NODE *ptr ;

 int i = 0;
 Initialize();

 /* 연결리스트의 노드에 저장된 데이타 출력 */
 printf("노드 C의 삽입 전\n");
 ptr = head->Next;
 for(i = 0; i < 4;i++) {
  printf(",",ptr->Data);
  ptr = ptr->Next;
 }

 /* 삽입할 새로운 노드의 생성 */
 temp = (NODE *)malloc(sizeof(NODE));
 temp->;

 /* 노드의 삽입 */
 InsertNode(temp);

 /* 연결리스트의 노드에 저장된 데이타 출력 */
 printf("\n\n노드 C의 삽입 후\n");
 ptr = head->Next;
 for(i = 0; i < 5;i++) {
  printf(",",ptr->Data);
  ptr = ptr->Next;
 }
 
 /* 노드의 삭제 */
 DeleteNode(temp);

 /* 연결리스트의 노드에 저장된 데이타 출력 */
 printf("\n\n노드 C의 삭제 후\n");
 ptr = head->Next;
 for(i = 0; i < 4;i++) {
  printf(",",ptr->Data);
  ptr = ptr->Next;
 }

}

void Initialize(void)
{
 NODE *ptr;
 head = (NODE *)malloc(sizeof(NODE));
 end = (NODE *)malloc(sizeof(NODE));

 temp1 = (NODE *)malloc(sizeof(NODE));
 temp1->;

 head->Next = temp1;
 temp1->Next = end;
 temp1->Prev = head;
 end->Next = end;
 ptr = temp1;

 temp2 = (NODE *)malloc(sizeof(NODE));
 temp2->;
 ptr->Next = temp2;
 temp2->Next = end;
 temp2->Prev = ptr;
 ptr = temp2;

 temp3 = (NODE *)malloc(sizeof(NODE));
 temp3->;
 ptr->Next = temp3;
 temp3->Next = end;
 temp3->Prev = ptr;
 ptr = temp3;

 temp4 = (NODE *)malloc(sizeof(NODE));
 temp4->;
 ptr->Next = temp4;
 temp4->Next = end;
 temp4->Prev = ptr;
 ptr = temp4;

 

}

void InsertNode(NODE *ptr)
{
 NODE *indexptr;

 for(indexptr = head->Next; indexptr != end ; indexptr = indexptr->Next) {
  if(indexptr->Data < ptr->Data && indexptr->Next->Data > ptr->Data )
   break;
 }

 ptr->Next = indexptr->Next;
 indexptr->Next->Prev = ptr;
 indexptr->Next = ptr;
 ptr->Prev = indexptr;
}

void DeleteNode(NODE *ptr)
{
 NODE *indexptr;
 NODE *deleteptr;

 for(indexptr = head; indexptr != end ; indexptr = indexptr->Next) {
  if(indexptr->Next-> ptr->Data )
  {
   deleteptr = indexptr->Next;
   break;
  }
 }

 indexptr->Next = indexptr->Next->Next;
 indexptr->Next->Next->Prev = indexptr;
 free(deleteptr);
}

 

여기서 출력되는 ABCD를 한글로 나오게 할려면 소스를 어떻게 고쳐야돼??