今天学习:3.3线性表的链式存储

3.3.1:线性链表

    A.链表初始化:

    B.建立单链表:

3.3.2:线性链表的运算

    单链表的查找:

        C.查找是否存在第i个节点

        D.按值查找链表

    单链表的插入:

        E.前插

        F.后插

    G.单链表的删除:

    H.单链表的逆序:


结构1:head头指针->头结点+a1+a2+a3.....使链表第一个位置的操作一致,也使对空链表 和非空链表的处理一致。

 

结构2:head头指针->a1+a2+a3.....链表第一个位置的操作和其他位置的操作不一致


结构1:A.初始化很重要!

             B.为第一个节点或为最后一个节点(方便)

             D.典型的 while(p!=NULL&&p->data!=key){p=p->next;}

             E.while(p!=NULL&&j<i-1){p=p->next;j++}

               j=      0            1    2    3            i-2    i-1      i(在i-1和i之间插入)

               p-> 头结点    a1  a2   a3         p-1    p          (p最后要移动到这儿!把p和s连接)

             G.也要定位到i-1

             H.原来:     S  ->  P    

                 后来:     S  <-  P

                  只改变逻辑顺序!

 

带头节点单链表建立算法(3-8,3-9).cpp

单链表的查找操作(3-10,3-11).cpp

单链表的插入操作(3-12,3-13).cpp

单链表删除算法(3-14).cpp

单链表逆序算法(3-15).cpp


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值