线性表的特点:
- 除第一个元素外,其他每一个元素有且仅有一个直接前驱。
- 除最后一个元素外,其他每一个元素有且仅有一个直接后继。
这里我刚刚犯了一个小糊涂,线性表是线性结构,为逻辑结构,而实现其顺序存储结构又是一种物理结构,突然一下整蒙了,思考后发现逻辑结构与物理结构并不矛盾,也并非不能共存。逻辑结构是一种理论上的结构,而实现需要通过真实的物理结构表现出来。
今天要学习的是线性表中的顺序表:
顺序表可以用数组实现,这样申请的数组地址在一块为连续的
/*头文件及宏定义*/
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 100
/*定义顺序表和指向顺序表的指针*/
typedef struct
{
int data[MAXSIZE]; //存储顺序表中的元素
int len; //顺序表的长度
}SeqList; //顺序表类型
顺序表的初始化函数
SeqList *Init_SeqList()
{
SeqList *L;
L=(SeqList*)malloc(sizeof(SeqList));
L->len=0;
return L;
}
建立顺序表
void CreatList(SeqList *L)
{
int i,n;
printf("请输入顺序表的长度:");
scanf("%d",&n);
printf("请依次输入顺序表元素:");
for(i=1;i<=n;i++)
<