欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

第二章、线性表

程序员文章站 2022-07-08 08:05:13
第二章、线性表 一、线性表的顺序表示和实现 1、线性表中第i个数据元素ai的存储位置: LOC(ai)=LOC(a1)+(i-1)*l l为每个元素需占用l个单元 2、有上式可知,线性表的顺序结构是一种随机存取的存储结构,但其缺点为插入和删除比较困难。 3、线性表的数据结构表示为: // 线性表的动 ......

第二章、线性表

一、线性表的顺序表示和实现

  1、线性表中第i个数据元素ai的存储位置:   LOC(ai)=LOC(a1)+(i-1)*l                                    l为每个元素需占用l个单元

  2、有上式可知,线性表的顺序结构是一种随机存取的存储结构,但其缺点为插入和删除比较困难。

  3、线性表的数据结构表示为:        

第二章、线性表
//-------线性表的动态分配顺序存储结构
#define LIST_INIT_SIZE 100   //线性表存储空间的初始大小
typedef struct{
    Elemtype *elem; //存储空间基址 
    int length;    //线性表当前长度
    int listsize   //当前分配的存储容量 
}Sqlist; 
ViewCode

  4、线性表的实现:

    

第二章、线性表
//待补充
View Code

 

 

 

二、线性表的链式表示和实现

  1、特点:用一组任意的存储单元存储线性表的数据元素(存储单元可以连续也可以不连续)。

  2、线性链表的存储结构:

    

第二章、线性表
1 //线性表的单链表存储结构
2 typedef struct Lnode{
3      Elemtype data;
4      struct Lnode* next;       
5 }Lnode,*Linklist;
View Code

 

  3、线性表实现:

  

第二章、线性表
1 //待补充
View Code