大二上学了数据结构,
对各种线性结构的结构体如何定义,和一些基本操作
简单总结一下:
一、线性表
①顺序表结构体
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)双向链表