不带头节点链表

在本人之前的博文 ———— 《(带头节点的链表) 宿舍管理系统》中,本人介绍了链表的基本知识点。
那么,在本人数据结构与算法的专栏的开始,本人就来介绍下 不带头节点链表

不带头节点链表

由于本人在讲解带头节点链表的时候就已经讲解过了链表基本的增、删、改、查 操作,所以,本人在这里就不对这些重复的知识点进行讲解了。

本人在本篇博文中主要讲解两个知识点 ———— 链表的倒序两个链表的连接

链表的倒序:

首先是 链表的倒序

void reverseStu(STU *head) {
	STU	*i = NULL;
	STU *j = NULL;
	
	j = head;
	while(result->next) {
		i = j;
		j = j->next;
		j->next = i;
	}
	head->next = NULL;
	head = j;
}

最后是 链表的合并

链表的合并:

void Combine(STU *head1, STU *head2){
    STU *p;

    p = head1->next;

	while(NULL != p->next) {
		p = p->next;
	}

    p->next = head2;
}

其实我们看到这里,也发现其实带头节点链表和不带头节点链表大致思路一致,甚至连好多代码都是大致相同的。
这是因为带头节点链表和不带头节点链表区别在于带头节点链表初始时给的是一个节点,而不带头节点链表最开始时给的是一个指针,其实相差也不是很大,我们掌握其中一种的使用方式,再了解与另一种的基本区别,就足够了。

链表的初步学习就结束了,好多数据结构课程的开头就是以不带头节点链表或者线性表开头的,但本人觉得不带头节点链表应该放在C里去讲解,因为本人觉得这里的知识点相对过于基础,可能本人的学艺还不太精湛,哈哈,见谅!

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值