链表2

程序=算法+数据  (算法就是处理数据的)

数据结构:

 1、物理结构:数据在内存中的表现形式

    1、顺序结构:数组(在一块空间,且元素之间相邻)

    2、链式结构:元素之间互不相邻,且元素之间有一定的联系。

 2、逻辑结构:表据的联系(映象)

    联系:元素之间的联系(映象)

   逻辑结构如下:

    散列:元素之间没有联系

    线性结构:节点之间的联系1:1,且每一个节点只能一个直接前驱和直接后驱

              (节点元素之间的联系像一条线)

    树形结构:节点之间存在1:N的联系。(同层节点互不相连) 

    图形结构:节点之间存在N:N的联系。

  3、线性的结构:

      1、物理区:线性顺序表,线性链表:

         线性顺序表:将所有的数据存放一块空间,且存在1:1的系            

            struct people

            {

                int id;

                char name[10];

                char telphone[11];

                //下一个学生的手机号

                int next;

            };

            struct people e[48];

        总结:优点:遍历简单  缺点:删除和插入麻烦,长度固定 

            
          链式线性表:所有节点都不在同一块空间,但节点之间通过指针来相互联系

           1、单向链式线性表:

                struct Node

                {

                    data;

                    struct Node* next;//一个联系(单向)

                };

             头节点指针变量:存放链表中第一个节点的地址。

                struct Node* head;

             尾节点:没有直接后驱(指向域为next==NULL)

             操作功能:

              1、插入节点:(头插法,尾插法:新的结点成为尾节点)

                    1、为节点分配空间

                    2、修改节点的联系

                尾插法:新的节点成为尾节点

                头插法:新的节点成为头节点

              2、删除节点:

              3、修改节点:

              4、查找节点:

              5、遍历节点:

           2、双向链式线性表:
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值