c 언어 양 방향 링크 실현
2246 단어 데이터 구조체인 테이블c 언어데이터 구조 c 언어 판
#include
#include
typedef struct node
{
int data;
struct node *next;
struct node *prior;
}node,*linklist;
void create_list_tail(linklist *l)//
{
int i,j,x;
linklist p,r;
(*l)=(node*)malloc(sizeof(node));
(*l)->prior=NULL;
(*l)->next=NULL;
printf("please input the length:");
scanf("%d",&j);
(*l)->data=x;
//r=(*l);
for(i=0;idata=x;
p->next=(*l)->next;
p->prior=(*l);
(*l)->next=p;
}
}
void create_list_head(linklist *l)//
{
int i,j,x;
linklist p,r;
(*l)=(node*)malloc(sizeof(node));
(*l)->next=NULL;
(*l)->next=NULL;
printf("please input the length:");
scanf("%d",&j);
(*l)->data=j;
r=(*l);
for(i=0;idata=x;
p->prior=r;
r->next=p;
r=p;
}
p->next=NULL;
}
void delete_list(linklist *l)//
{
linklist p;
int i,j;
printf("please input:");
scanf("%d",&j);
p=(*l)->next;
for(i=1;inext;
}
p->prior->next=p->next;
p->next->prior=p->prior;
}
void insert_list(linklist *l)//
{
int i,j,x;
linklist p,r;
r=(node*)malloc(sizeof(node));
p=(*l)->next;
printf("please input:");
scanf("%d %d",&j,&x);
for(i=1;inext;
}
r->data=x;
r->prior=p;
r->next=p->next;
p->next->prior=r;
p->next=r;
}
void print_list(linklist *l)
{
linklist p;
p=(*l)->next;
while(p)
{
printf("%d
",p->data);
p=p->next;
}
}
int main()
{
linklist a;
//create_list_tail(&a);
create_list_head(&a);
//delete_list(&a);
insert_list(&a);
print_list(&a);
return 0;
}
기타 기능 은 상기 코드 수정 에 따라 실현 할 수 있 으 며, 단 방향 링크 와 의 조작 차이 가 많 지 않다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
정수 반전Udemy 에서 공부 한 것을 중얼거린다 Chapter3【Integer Reversal】 (예) 문자열로 숫자를 반전 (toString, split, reverse, join) 인수의 수치 (n)가 0보다 위 또는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.