链表的基本操作

本文介绍了链表的基本操作,包括链表的格式类型、节点创建、遍历(打印)算法、插入算法、删除指定节点的方法,以及链表的逆序和局部逆序实现。链表的使用注重灵活性,主要通过堆内存管理,通过遍历和调整next指针完成各种操作。
摘要由CSDN通过智能技术生成

1.链表的格式类型:

strut node
	{
		int data;
		struct node *next;
	}

(1).结构体的定义后并不占用内存,而只是创建了一个模板,在需要使用的时候赋值一份即可。
(2).链表的使用比较灵活,不能使用data数据段,不能用栈,只能用堆内存。
(3).头指针不是节点,而是一个普通的指针,类型是struct node*类型的。 头指针指向链表中的第一个节点。

 

2.链表节点的创建:也可以利用后面的尾插法函数进行节点的创建:
                

struct node *creat_node(int data) 
	{
		struct node *p;
		p = (struct node *)malloc(sizeof(struct node));
		if(NULL == p)
		 {
			printf("malloc error \n");
			return NULL;
		}

		//清除结构体 
		memset(p,0,sizeof(struct node));

		//节点数据的填充 
		p->data = data;
		p->next = NULL;  //保证每一个目前来说最后的节点最后都指向NULL。 
	}

3.链表的遍历(打印算法):利用最后一个节点next指向NULL的特性

void bainli(struct node *pHeader)
	{
		int i = 0;
		struct node *p =
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值