数据结构-单链表(C语言)

本文介绍了一个简单的链表实现方法,包括创建、打印、替换元素、插入和删除节点等基本操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#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;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值