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

来源:互联网 发布:淘宝怎么查询买家星级 编辑:程序博客网 时间:2024/05/18 03:27

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


原创粉丝点击