#include <stdio.h>
#include <stdlib.h>
typedef struct Node
{
struct Node *PrevNode;
int Data ;
struct Node *NextNode;
}List_Node;
List_Node *create(int Data)
{
List_Node * NewNode;
NewNode = (List_Node *)malloc(sizeof(*NewNode));
NewNode->Data = Data;
NewNode->NextNode = NewNode;
NewNode->PrevNode = NewNode;
return NewNode;
}
int Add(List_Node ** Head, List_Node * NewNode)
{
if((*Head) == NULL)
{
*Head = NewNode;
(*Head)->NextNode = *Head;
(*Head)->PrevNode = *Head;
}
else
{
List_Node * Tail;
Tail = (*Head)->PrevNode;
Tail->NextNode->PrevNode = NewNode;
Tail->NextNode = NewNode;
NewNode->PrevNode = Tail;
NewNode->NextNode = (*Head);
return 1;
}
}
int RemoveNode(List_Node ** Head, List_Node * NewNode)
{
if((*Head) == NewNode)
{
(*Head)->PrevNode->NextNode = NewNode->NextNode;
(*Head)->NextNode->PrevNode = NewNode->PrevNode;
(*Head) = NewNode->NextNode; //헤드가 없어짐으로 다음을 Head로 정의
NewNode->NextNode = NULL;
NewNode->PrevNode = NULL;
}
else
{
List_Node *Temp = NewNode; //없애는 장소를 모르기 때문에
Temp->PrevNode ->NextNode = NewNode->PrevNode;
Temp->NextNode ->PrevNode = NewNode->NextNode;
NewNode->NextNode = NULL;
NewNode->PrevNode = NULL;
}
}
int main()
{
return 0;
}
//원형의 특징은 헤드와 테일 사이에 넣는다는것이다!!!
이것으로 리스트 구현은 끝이다 !!!
'Soft Ware > 자료구조 및 알고리즘' 카테고리의 다른 글
정렬 !! -선택정렬- (0) | 2012.04.16 |
---|---|
유클리드 호제법을 이용한 최대공약수 구하기 (0) | 2012.04.16 |
중위 순위를 후위순위로 바꾸는 소스입니다 (0) | 2012.04.15 |
동적할당과 스택 구조를 이용하여 후위 연산해보기!! (0) | 2012.04.15 |
연결리스트 한번 공부해보자!!! (0) | 2011.08.08 |