线性结构的简单总结

大二上学了数据结构,

对各种线性结构的结构体如何定义,和一些基本操作

简单总结一下:

一、线性表

①顺序表结构体

typedef struct

{

ElemType *elem;//存储空间基址

int length;//当前长度

int listsize;//当前分配的存储容量

}SqList;

基本操作

构造线性表 L.elem =(ElemType*)malloc(LIST_INIT _SIZE*sizeof(ElemType));

 

增加空间 L.elem =(ElemType*)realloc(LISTINCREMENT*sizeof(ElemType));

listsize+=LISTCREMENT;

判空 if(!L.elem) 

判满 if(length==listsize)

插入数据 L.elem++ = e;

length++;


 

②链表结构体

typedef struct LNode

{//结点

ElemType data;//数据

struct LNode  *next;//下一个结点地址

}*Link,*Position;

 

typedef struct

{//链表

Link head,tail;//头结点和尾结点地址

int len;//链表长度

}LinkList;

 

1)线性链表

 

2)循环链表

 

3)双向链表

你可能感兴趣的:(笔)