순환 링크 의 C 언어 구현
14646 단어 필기 하 다.
지식 기반
지식 기 초 는 C 언어 구조 체, 데이터 구조의 링크 를 포함한다.
실 현 된 C 언어 코드
순환 링크 초기 화, 증가, 삭제 작업 을 실현 합 니 다.
#include
#include
static int size=0;
typedef struct Node{ //
int data;
struct Node *next;
}node,*linklist;
void head_creat(linklist l){ //
printf(" ( )");
int num; //
scanf("%d",&num);
while(num--){
linklist p;
p=(linklist)malloc(sizeof(node));
scanf("%d",&p->data);
p->next=l->next;
l->next=p;
size++;
}
linklist p=l;
while(p->next!=NULL){
p=p->next;
}
p->next=l;
}
void out_list(linklist h){ //
linklist p=h->next;
while(p!=h){
printf(" :%d ",p->data);
p=p->next;
}
printf("size is %d
",size);
}
void dele(linklist h){ // num
int rmnum;
scanf("%d",&rmnum);
linklist p=h->next;
linklist q=h;
while(p!=h){
if(p->data==rmnum){
q->next=p->next;
p->next=NULL;
free(p);
size--;
break;
}
p=p->next;
q=q->next;
}
}
void inset(linklist l){ //
printf(" ( )");
int num; //
scanf("%d",&num);
while(num--){
linklist p;
p=(linklist)malloc(sizeof(node));
scanf("%d",&p->data);
p->next=l->next;
l->next=p;
size++;
}
}
int main(){
char choose;
linklist h; //
h=(node*)malloc(sizeof(node));
h->data=666;
h->next=NULL;
printf(" :
c------
i------
d------
s------
x------
");
while(1){
scanf("%c",&choose);
switch(choose){
case 'c':head_creat(h);break;
case 'i':inset(h);break;
case 'd':dele(h);break;
case 's':out_list(h);break;
case 'x':return 0;
// default:printf(" ");
}
}
}
미 완성 계속...꼬꼬...다음은 순환 큐 의 C 언어 구현 과 순환 큐 와 순환 링크 의 차 이 를 보충 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Dubbo (2): zookeeper 등록 센터Zookeeper 는 Apacahe Hadoop 의 하위 프로젝트 로 트 리 형태의 디 렉 터 리 서비스 로 푸 시 변경 을 지원 하 며 Dubbo 서비스의 등록 센터 로 적합 하 며 산업 강도 가 높 아 생산 환경...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.