顺序表的定义
顺序表:用顺序存储的方式实现线性表顺序存储。把逻辑上相邻的元素存储在物理位置上也相邻的存储单元中,元素之间的关系由存储单元的邻接关系来体现。
顺序表的实现
静态分配
ElemType 指元素类型,可以替换成具体的类型,比如int
#define MaxSize 10
typedef struct {
ElemType data[MaxSize];
int length;
}SeqList;
eg:
#include<stdio.h>
#define MaxSize 10
typedef struct {
int data[MaxSize];
int length;
}SeqList;
void InitList(SeqList &L) {
L.length = 0;
}
int main() {
SeqList L;
InitList(L);
return 0;
}
动态分配
C中动态内存申请和释放
malloc动态申请内存空间,通过malloc函数返回一个指针,即内存空间的首地址
free动态释放内存空间
L.data = (ElemType *)malloc(sizeof(ElemType) * InitSize);
C++中动态内存申请和释放
new 、delete关键字
#define InitSize 10
typedef struct {
ElemType * data;
int MaxSize;
int length;
}SeqList;
eg:
#include<stdio.h>
#include<stdlib.h>
#define InitSize 10
typedef struct {
int * data;
int MaxSize;
int length;
}SeqList;
// 初始化数组
void InitList(SeqList &L) {
L.data = (int *)malloc(InitSize * sizeof(int));
L.length = 0;
L.MaxSize = InitSize;
}
// 动态增加数组长度
void