一、顺序表的初始化(静态分配)
//顺序表的静态分配
#include <stdio.h>
#define MaxSize 10 //定义最大长度
typedef struct{
int data[MaxSize]; //用静态的数组存放数据元素
int length; //顺序表的当前长度
}SqList; //顺序表的类型定义
//初始化顺序表
void InitList(SqList &L){
for(int i=0;i<MaxSize;i++){
L.data[i]=0; //将所有元素设置为默认初始值
}
L.length=0; //顺序表初始长度为0
}
int main(){
SqList L; //声明一个顺序表
InitList(L); //初始化顺序表
return 0;
}
二、顺序表的初始化(动态分配)
//顺序表的动态分配
#include <stdio.h>
#include <stdlib.h> //malloc、free函数的头文件
#define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量
#define LISTINCREMENT 10 //线性表存储空间的分配增量
typedef struct{
int *elem; //存储空间基址
int length; //顺序表的当前长度
int listsize; //当前分配的存储容量
}SqList;
//初始化顺序表
void InitList(SqList &L){
L.elem = (int *)malloc(LIST_INIT_SIZE*sizeof(int)); //用malloc申请一片连续的存储空间
L.length = 0; //空表长度为0
L.listsize = LIST_INIT_SIZE; //初始存储容量
}
int main(){
SqList L; //声明一个顺序表
InitList(L); //初始化顺序表
return 0;
}
三、顺序表的插入
//顺序表的插入
#include <stdio.h>
#include <stdlib.h> //malloc、free函数的头文件
#define LIST_INIT_SIZE 100 //线性表存储空间的初始分配量
#define LISTINCREMENT 10 //线性表存储空间的分配增量
#define OK 1
#define Error 0
typedef struct{
int *elem; //存储空间基址
int length; //顺序表的当前长度
int listsize; //当前分配的存储容量
}SqList;<