数据结构如何建立1个线性表?

输入12345-1输出12345... 输入1 2 3 4 5 -1
输出1 2 3 4 5
展开
 我来答
娱乐小八卦啊a
高粉答主

2020-03-02 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117830

向TA提问 私信TA
展开全部

建立顺序表代码如下:

由数组元素a[0..n-1]创建顺序表L。将a中的每个元素依次放入顺序表中,并将n赋值给顺序表的长度域。算法为:

void CreateList(SqList * &L, ElemType a[], int n){

    int i=0, k=0;

    L = (SqList *)malloc(sizeof(SqList));    //分配存储线性表的空间

    while(i<n){

        L->data[k] = a[i];

        k++; i++;

    }

    L->length = k;        //设置线性表的实际长度,设置为k(即a的长度n)

}

扩展资料

线性表的特点:

1、对于同一个线性表,其每一个数据元素的值虽然不同,但必须具有相同的数据类型

2、数据元素之间具有一种线性的或“一对一”的逻辑关系。

3、第一个数据元素没有前驱,这个数据元素被称为开始节点;

4、最后一个数据元素没有后继,这个数据元素被称为终端节点;

5、除了第一个和最后一个数据元素外,其他数据元素有且仅有一个前驱和一个后继。

线性表的抽象数据类型描述

基本操作如下:

1、线性表的置空操作clear():将一个已经存在的线性表置为空表。

2、线性表判空操作isEmpty():判断线性表是否为空,若为空,则返回true;否则,返回为false。

3、求线性表的长度操作length():求线性表中的数据元素的个数并返回其值。

百度网友0b9fc92
推荐于2017-09-06 · TA获得超过358个赞
知道小有建树答主
回答量:444
采纳率:100%
帮助的人:224万
展开全部
事实上在写线性表的基本操作时,就是用数组来描述它(线性表)的。
typedef struct {
int arr[MAX];//用的数组
int length;
} ArrayList;//线性表

void InitList(ArrayList *L);
void DestroyList(ArrayList *L);
int *GetElem(ArrayList *L, int i);
int ListInsert(ArrayList *L, int i, int e);
int ListDelete(ArrayList *L, int i);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tiaotiaohappy
2013-10-14
知道答主
回答量:4
采纳率:0%
帮助的人:5.1万
展开全部
如果固定此输入顺序,可以首先设定一个数组。采用循环依次输入数据,以-1为输入终止条件即可。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式