数据结构与算法---单链表

单链表

  • 单链表的逻辑结构:
    在这里插入图片描述

  • 单链表在内存中的存储:
    在这里插入图片描述
    小结:
    1)链表是以结点的方式来存储,是链式存储
    2)每个结点包括data域和next域(指向下一个结点)
    3)链表的各个结点不一定是链式存储,逻辑结构上连续,物理结构上不一定连续
    4)根据实际需求来确定链表是否需要头结点

  • 单链表的创建和遍历

添加操作:

//	 添加结点到链表(直接添加到链表的最后)
	public void add(HeroNode heronode) {
   
//	 	因为头结点不能动,辅助指针帮忙遍历
		HeroNode temp = firstnode;
		while (true) {
   
			// 找到链表的最后
			if (temp.next == null) {
   
				break;
			}
			temp = temp.next;
		}
//		当退出while循环时,就找到了链表的最后
//		将最后这个结点的next指向新结点
		temp.next = heronode;
	}

遍历:

//	显示链表
	public void list() {
   
//		判断链表是否为空
		if (firstnode.next == null) {
   
			System.out.println("链表为空");
			return;
		}
//		因为头结点不能动,所以需要一个辅助指针
		HeroNode temp = firstnode.next;
		while (true) {
   
//			判断链表是否到最后
			if (temp == null) {
   
				break;
			}
//			输出结点的信息
			System.out.println(temp);
			temp = temp.next;
		}
	}

对添加的优化(根据no添加到指定位置)&#x

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值