이중연결리스트
한지잠
2023.04.01
#includestdio.h
#includestdlib.h
struct list{
int i;
struct list *next;
struct list *prev;
};
typedef struct list List;
void append(List *ls,int i);
void main()
{
List *start,*ls;
int i;
ls=(List *)malloc(sizeof(List));
ls-i=0;
ls-prev=ls-next=NULL;
start=ls;
for(i=1;i20;i++)
append(ls,i);
for(ls=start;ls-next!=NULL;ls=ls-next)
printf(%d-,ls-i);
printf(%d\n,ls-i);
}
void append(List *ls,int i)
{
List *ptr;
for(;ls-next!=NULL;ls=ls-next);
ptr=(List *)malloc(sizeof(List));
ptr-i=i;
ptr-prev=ls;
ptr-next=NULL;
ls-next=ptr;
}이중연결리스트를 작성하는 코드인데요. 책을 보고 공부를 하여도 잘 이해가 되지않아서주석을 달아서 설명좀 도와주세요 ㅠㅠ 이중연결리스트를 잘모르겠네요..그리고 수 j의 값을 저장하고 있는 구조체를 리스트에서 제거하는 함수를 작성하고 이 함수를 이용하여 12와 13을 제거하여 출력하는 프로그램은 어떻게 작성이 되나요?