线性表性质与操作

本文介绍了线性表的基本概念,包括其表现形式、抽象定义、性质及常用操作,并提供了线性表在C++中的抽象类实现示例。
线性表(List)的表现形式:
--零个或多个数据元素组成的集合
--数据元素在位置排列上是有序
--数据元素的个数是有限
--数据类型必须相同

线性表(List)的抽象定义:
--线性表是具有相同类型的n(n >= 0)个数据元素的有限集合。
--(a0, a1, a2, ... an-1
--其中ai是表项 n是线性表长度。

线性表(List)的性质:
--a0为首结点,即第一个元素,只有一个后继结点,没有前驱结点
--an-1为尾结点,即最后一个元素,只有一个前驱结点,没有后继结点
--除首结点和尾结点外的其他结点既有前驱结点也有后继结点
--支持直接访问和顺序存取

线性表(List)的常用操作:
--将元素插入线性表
--将元素从线性表删除
--获取目标位置的元素值
--设置目标位置处元素的值
--获取线性表的长度
--清空线性表

线性表(List)在数据结构中表现为一种抽象数据类型:
#ifndef LIST_H
#define LIST_H
#include "Object.h"
namespace CorlinLib
{
    template <T>
    class List : public Object
    {
        virtual void insert(int pos, const T& val) = 0;
        virtual void remove(int pos) = 0;
        virtual bool setValue(int pos, const T& val) = 0;
        virtual bool getValue(int pos, T& val) = 0;
        virtual int length() const = 0;
        virtual void clear();
    };
}

#endif // LIST_H

总结:
线性表是数据元素有序且有限的集合
线性表的数据元素必须是类型相同
线性表可以用于描述对列关系的问题
线性表在程序中表现为一种特殊的数据类型
线性表在C++中表现为一个抽象类


评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值