#include<stdio.h>
typedef struct Node{
int number;
struct Node *next;
}Node,*NodList
NodList nodinit(){
Node *L;
L=(Node*)malloc(sizeof(Node));
if(L==NULL)
printf("无法申请空间");
L->next=NULL;
}
NodList NodCreat(){
Node *L;
L=(Node*)malloc(sizeof(Node))
L->next=NULL;
int x;
while(scanf("%d",&x)!=EOF){
Node *p;
p=(Node*)malloc(sizeof(Node));
p->number=x;
p->next=L->next;
L->next=p;
}
return L;
}
NodList NodCreatH(){
Node *L;
L=(Node*)malloc(sizeof(Node));
L->next=NULL;
Node *r;
r=L;
int x;
while(scanf("%d",&x)!=EOF){
Node *p;
p=(Node)malloc(sizeof(Node));
p->number=x;
r->next=p;
r=p;
}
r->next=NULL;
return L;
}
void PrintList(NodList L){
Node *p=L->next;
while(p){
printf("%d",p->number);
printf("\n");
}
}
NodList NodReplace(NodList L,int x,int y){
Node *p=L->next;
while(p){
if(p->number==x) p->number=y;
p=p->next;
}
return L;
}
NodList NodInsert(NodList L,int i,int x){
Node *pre;
pre=L;
int j;
for(j=1;j<i;j++)
pre=pre->next;
Node *p;
p=(Node*)malloc(sizeof(Node));
p->number=x;
p->next=pre->next;
pre->next=p;
return L;
}
NodList NodDelete(NodList L,int x){
Node *p,*pre;
p=L;
while(p->number!=x)
{
pre=p;
p=p->next;
}
pre-next=p->next;
free(p);
return L;
}
数据结构-单链表(C语言)
最新推荐文章于 2025-05-31 21:26:34 发布