由于本人在学习秦锋版本的算法与数据结构中发现书中的知识较为零碎,难以理解,所以本人便整理归纳书中关于线性表的顺序存储结构的所有知识点,帮助同学们一起学习。
线性表的顺序存储
线性表的顺序存储简介
线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素,使得线性表在逻辑结构上相邻的元素存储在连续的物理存储单元中,即:通过数据元素物理存储的连续性来反应元素之间逻辑上的相邻关系。采用顺序存储结构存储的线性表通常简称为顺序表。
顺序存储的线性表的特点:
◆ 线性表的逻辑顺序与物理顺序一致;
◆ 数据元素之间的关系是以元素在计算机内“物理位置相邻”来体现。顺序表的查找,插入,删除,求表长以及遍历的完整代码
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include <malloc.h>
#define maxsize 100
typedef int datatype;
typedef struct node
{
datatype data[maxsize];
int length;
}seqlist,*pseqlist;
//创建表
void Creat_seqlist(pseqlist &p,datatype a[],int n)
{
p=(pseqlist)malloc(sizeof(seqlist));
for(int i=0;i<n;i++)
p->data[i]=a[i];
p->length=n;
}
//判断顺序表是否为空
bool Empty_seqlist(pseqlist p)
{
return (p->length==0);
}
//显示原表
Display_seqlist(pseqlist p)
{
if(Empty_seqlist(p))
return 0;
for(int i=0;i<p->length;i++)
printf("%d ",p->data[i]);
printf("\n");