线性表
作者:互联网
线性表的定义
相同的数据类型的n个元素的有限数列
出第一个元素外,每个元素有且仅有一个直接前驱,除最后一个元素外,有且仅有一个直接后继
顺序表的定义
在逻辑上相邻的两个元素在物理上也相邻。
位序从1开始,数组中元素下标从0开始。
顺序表类型定义
//静态分配
#define MaxSize 50
typedef struct{
ElemType data[MaxSize];
int length;
}SqList;
//动态分配
#include <stdlib.h>
#define InitSize 10
typedef struct{
int *data;
int MaxSize,length;
}SqList;
//初始化
void InitList(SqList &L){
L.data = (int *)malloc(sizeof(int) *InitSize);
L.length = 0;
L.MaxSize = InitSize;
}
//动态增加
void IncreaseSize(SqList &L, int len){
int *p = L.data;
L.data = (int *)malloc(sizeof(int)*(L.MaxSize + len));
for(int i = 0;i < L.length; i++){
L.data[i] = p[i]; //!!!!!!!!!!!!
}
L.MaxSize = L.MaxSize + len;
free(p);
}
int main(){
SqList L;
InitList(L);
//.....
IncreaseSize(L, 5);
return 0;
}
//初始化动态分配语句
L.data = (ElemType *)malloc(sizeof(ElemType) *InitSize);
L.data = new ElemType[InitSize];
顺序表的基本操作实现
插入
//在第i个位置插入元素
标签:线性表,int,元素,InitSize,MaxSize,SqList,data 来源: https://www.cnblogs.com/jjw-code/p/16448800.html