数据结构与算法基础(王卓)(2):线性表的初始化及结构整理

本文介绍了线性表的初始化方法,包括使用引用和指针的方式。通过`malloc`或`new`操作在堆上为顺序表分配空间,并提供了具体的代码实例。同时,文章讲解了如何处理内存分配失败的情况,以及使用typedef定义数据类型`ElemType`的灵活性。此外,还展示了如何定义和使用结构体来存储线性表中的元素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

各操作的代码实现:

一、初始化

(1):使用引用:

1.模板:

2.具体实例:

 (2):使用指针:

1.模板:

2.具体实例:


位置:PPT第二章:46 


关于ElemType的解释说明:

struct SqList
{
    ElemType data[maxsize];
    int length;
};

其中ElemType表示:线性表中的元素的类型

可以是基本数据类型,例如:char,float...:

struct SqList
{
    int data[maxsize];
    int length;
};

也可以是自己自定义的数据结构类型

如果线性表中的元素的类型为基本数据类型,但是一定想用ElemType,可以将其定义成基本数据类型:

typedef int ElemType;
struct SqList
{
    ElemType data[maxsize];
    int length;
};


位置:PPT:62;

各操作的代码实现:

一、初始化

模板

解释说明: 

Init:

initialize;使初始化;

Sq(l):

Sequential List;顺序表;

!: 逻辑非运算

L->elem = (ElemType*)malloc(LIST_INIT_SIZE * sizeof(ElemType));

详见:PPT:47;

如果初始化成功:返回OK,最终返回1;

如果初始化失败:返回OVERFLOW,最终返回-2;


我自己写的代码实例:

注:前置准备

#include<stdlib.h>
#include<math.h>//OVERFLOW,exit
#define OK          1
struct Poly
{
    float p;
    int e;
};

struct Sqlist
{
    Poly* elem;
    int length;
};

要真的不

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值