采用顺序存储结构的线性表通常称为顺序表,其在内存中是以数组的形式来存储。
如下所示:(这。。这。。就是数组啊。。。为嘛叫这么奇怪的名字😭)
下面是顺序表的定义:
typedef struct
{
ElemType data[MAXSIZE];//数据存储
int length;//顺序便长度
}SqList;
ElemType代表数据类型
有了定义,不难写出顺序表的建立程序。
下面,以int类型数组为基础建立顺序表:
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 10000
typedef struct
{
int data[MAXSIZE];
int length;
}SqList;//顺序表结构体
void Creat(SqList *&L, int arr[],int m)//顺序表建立函数
{
int k = 0;
while (k < m)
{
L->data[k] = arr[k];
k++;
}
L->length = m;
}
int main()
{
SqList *L;//创建顺序表指针
int arr[MAXSIZE] = { 0 }, m;
L = (SqList*)malloc(sizeof(SqList));
L->length = 0;
printf("请输入元素个数:");
scanf("%d", &m);
printf("请输入数组元素:\n");
for (int i = 0; i<m; i++)
scanf("%d", &arr[i]);
Creat(L, arr, m);
for (int i = 0; i < L->length; i++)
printf("%-3d", L->data[i]);//测试是否建立成功
getchar();
getchar();
return 0;
}
运行软件:vs2013
测试数据:
5
1 2 3 4 5
结果显示:
1 2 3 4 5
初来乍到,博客内容浅显,如有错误,欢迎大家指正!
另附 数据结构教程(第五版)李春葆课件及课后习题参考答案
百度网盘链接:https://pan.baidu.com/s/1oJKQWM8CFVNG6r9uXKOb7g
提取码:dwa8