顺序表
- 顺序表是顺序存储方式实现的线性表
- 将逻辑上相邻的数据元素存储到物理上也相邻的存储单元
注:顺序表占用的内存空间可以是静态分配,也可以是动态分配(需要使用malloc函数和free函数);为方便讨论,使用静态分配的方式分配内存空间。
顺序表基本操作的实现(C语言)
#include <stdio.h>
#define MaxSize 10 //顺序表的最大长度
//顺序表数据类型
typedef struct{
int data[MaxSize]; //存放数据元素的数组
int length; //顺序表的长度
}SeqList;
//顺序表的初始化
void InitSeqList(SeqList *p)
{
p->length = 0; //顺序表的长度为0即为初始化
}
void AddSeqList(SeqList *p)
{
int i, n = 4;
for(i = 0; i < n; i++)
{
p->data[i] = i;
p->length++; //添加一个元素长度加1
}
}
void OutSeqList(SeqList *p)
{
int i;
printf("顺序表的元素为:");
for(i = 0; i < p->length; i++)
{
printf("%d ", p->data[i]);
}
printf("\n");
printf("顺序表的长度为:%d\n", p->length);
}
//顺序表的插入操作
void SeqListInsert(SeqList *p, int