数据结构----线性表

本文介绍了线性表的几种类型,包括顺序表和单链表,并详细阐述了顺序表的初始化、求表长、取指定位置元素、插入元素、删除元素等操作。此外,还展示了单链表的创建、查找长度、打印链表、插入和删除节点的实现代码。
摘要由CSDN通过智能技术生成

参考:http://student.zjzk.cn/course_ware/data_structure/web/main.htm

一、线性表:顺序表、单链表、循环链表、双链表

顺序表:

1.表的初始化
   void InitList(SeqList *L)
     {\\顺序表的初始化即将表的长度置为0
            L->length=0;
    }

2.求表长
    int ListLength(SeqList *L)
       { \\求表长只需返回L->length
          return L->length;
      }

3.取表中第i个结点
  DataType GetNode(L,i)
      {\\取表中第i个结点只需返回和L->data[i-1]即可
          if (i<1||i> L->length-1)
                 Error("position error");
          return L->data[i-1];
       }

4.查找值为x的结点

5. 插入
具体算法描述
   void InsertList(SeqList *L,DataType x,int i)
     {//将新结点 x插入L所指的顺序表的第i个结点ai的位置上
       int j;
       if (i<1||i>L->length+1)
          Error("position error");//非法位置,退出运行
       if (L->length>=ListSize)
          Error("overflow");     //表空间溢出,退出运行
       for(j=L->length-1;j>=i-1;j--)
           L->data[j+1]=L

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
线性是一种常见的数据结构,它示具有相同数据类型的一组元素的有序序列。线性中的元素之间存在一种顺序关系,每个元素都有一个前驱和一个后继(除了第一个元素没有前驱,最后一个元素没有后继)。线性可以用顺序存储结构或链式存储结构实现。 在顺序存储结构中,线性的元素按照顺序存储在连续的内存空间中,可以通过元素的下标来访问和操作元素。插入或删除元素时,需要移动其他元素,因此操作的时间复杂度较高。 链式存储结构中,线性的每个元素都包含一个数据域和一个指针域,指针指向下一个元素。通过指针的链接,元素可以按照任意顺序存储在内存中,插入和删除操作只需要改变指针的指向,因此时间复杂度较低。 线性常见的操作包括插入、删除、查找、获取长度等。其中插入和删除操作需要注意保持线性的顺序关系。 常见的线性有数组、链、栈和队列。数组是最简单的线性,通过下标可以直接访问元素;链是动态存储结构,插入和删除操作方便,但访问元素需要遍历链;栈是一种特殊的线性,只允许在的一端进行插入和删除操作;队列也是一种特殊的线性,只允许在的一端进行插入操作,在另一端进行删除操作。这些数据结构在实际应用中都有各自的应用场景和优缺点。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值