线性表的本质和相关操作

线性表的本质


线性表是最简单、最基本、最常用的一种线性结构。它包括两种存储方式:顺序存储方式和链式存储方式。

一、线性表的定义

* 线性表是零个或多个数据元素的集合
* 线性表中数据元素之间是有顺序的
* 线性表中的数据元素个数是有限的
* 线性表中数据元素的类型必须相同

> 定义:线性表是具有相同类型的 n (>=0)个数据元素的有限序列
    (A0, A1, A2 ..., An)  Ai表示项,n表示长度
    
二、线性表的性质

> 性质
* A0为线性表的第一个元素,只有一个后继
* An为线性表的最后一个元素,只有一个前驱
* 除A0和An外的其它元素Ai,既有前驱又有后继
* 线性表能够逐项访问和顺序存取

线性表的相关操作


一、线性表操作的实现

* 线性表在程序中表现为一种特殊的数据类型
* 线性表的操作在程序中的表现为一组函数

如下实例:
List.h
 #ifndef _EG_2_1_H_
 #define _EG_2_1_H_
 
 typedef void List;
 typedef void ListNode;

 
 // 该方法用于创建并且返回一个空的线性表
 List* List_Create();
 
 // 该方法用于销毁一个线性表list
 void List_Destroy(List* list);
 
 // 该方法用于将一个线性表list中的所有元素清空,使得线性表回到创建使的初始状>    态
 void List_Clear(List* list);
 
 // 该方法用于返回一个线性表list中的所有元素个数
 int List_Length(List* list);
 
 // 该方法用于向一个线性表list的pos位置处插入
 // 新元素 node,返回1表示插入成功,0表示插入失败
 int List_Insert(List* list, ListNode* node, int pos);
 
 // 该方法用于获取一个线性表list的pos位置处的元素返回值为pos位置处的元素,NUL    L表示获取失败
  ListNode* List_Get(List* list, int pos);
 
  // 该方法用于删除一个线性表list的pos位置处的元素返回值为被删除的元素,NULL表示删除失败
  ListNode* List_Delete(List* list, int pos);
 
  #endif






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值