美文网首页
数据结构之线性表

数据结构之线性表

作者: shandamengcheng | 来源:发表于2019-03-27 15:32 被阅读0次

数据结构之线性表

1. 什么是线性表

线性表是一种最常用,最简单的一种数据结构。它是n个数据元素的有限序列。
n 为线性表的长度,当 n = 0 时,表明该线性表为空表。

2. 线性表的特性

> 1. 线性表中存在唯一一个被称为“第一个”的数据元素。
> 2. 线性表中存在唯一一个被称为“最后一个”的数据元素。
> 3. 线性表中除第一个元素外,每一个元素均有一个直接前驱。
> 4. 线性表中除最后一个元素外,每一个元素均有一个直接后继。

3. 线性表的两种表示

  1. 线性表的顺序存储
    线性表的顺序表示是指线性表中的数据元素依次存放在连续的地址连续的内存空间中。由其名称中的“ 顺序 ” 便可理解。
    线性表的顺序存储结构的特点是:逻辑关系上相邻的两个数据元素在物理位置上也相邻。
    缺点: 执行插入 或 删除操作时,需要大量移动数据。
  2. 线性表的链式存储
    链式存储是指: 用一组任意的存储单元存储线性表的数据元素,这组数据单元可以是连续的,也可以是不连续的。
    特点: 不要求逻辑上相邻的数据元素在物理位置上也相邻。
    缺点: 随机存取比较麻烦。

4.线性表的基本操作

1. void InitList(&S) ;   //初始化线性表
2. int DestroyList (&S); //销毁线性表
3. int ClearList(&S);   //清空线性表
4. int ListLength(&S); //返回链表的长度
5. int listEmpty(&S); //链表为空返回1,否则返回0
6. ListData GetElem(&S,int i);  //返回第i 个数据元素
7. ListData PriorElem (&S,ListData x); //返回数据元素x的直接前驱
8. int LocateElem(&S,ListData x);  //返回数据元素x 在链表中的位置
9. ListData NextElem(&S,ListData x); //返回数据元素x的直接后继
10. int ListInsert (&S,ListData x,int i); //在链表第i 个元素之前插入x;
11. int ListDelete (&S,int i); //删除第i个数据元素

相关文章

  • 数据结构之线性表

    数据结构之线性表 1. 什么是线性表 线性表是一种最常用,最简单的一种数据结构。它是n个数据元素的有限序列。n 为...

  • 数据结构探险之线性表篇(上):顺序表

    数据结构探险之线性表篇 将要学到得: 线性表(链表) 什么是线性表? 线性表是n个数据元素的有限序列 排列之后成线...

  • 数据结构之线性表的链式存储结构

    之前写了线性表的顺序存储结构和有序线性表的顺序存储结构,今天接着写线性表的链式存储结构 数据结构之线性表的顺序存储...

  • 重温:数据结构与算法 - 03数组

    数据结构与算法之美 - 数组 数据结构与算法之美-学习大纲 什么数组? 数组是一种 线性表 数据结构。它用一组 连...

  • 【数据结构】线性表之单链表

    完整代码需结合前面一篇顺序表数据结构学习-线性表之顺序表各种操作网易云课堂小甲鱼课程链接:数据结构与算法 线性表的...

  • 目录 - 数据结构

    总目录 数据结构 第01局:绪论 数据结构 第02局:线性表 上 数据结构 第03局:线性表 下 数据结构 第04...

  • 13-数据结构探险系列-线性表篇

    数据结构探险之线性表篇 将要学到得, 线性表(链表) 整体的路线图如上图所示,线性表要比队列和栈编码上难一点,起到...

  • iOS设计模式--迭代器

    学习迭代器之前,先看一种数据结构--线性表 线性表:线性表是最基本,最简单,也是最常用的一种数据结构。 线性表中数...

  • Java造轮子-数据结构-线性表

    数据结构-线性表 @(数据结构) 线性表是数据结构中的逻辑结构。可以存储在数组上,也可以存储在链表上。 顺序表(数...

  • 数据结构与算法02——线性表

    一、 线性表线性表是最基本、最简单、也是最常用的一种数据结构。线性表(linear list)是数据结构的一种,一...

网友评论

      本文标题:数据结构之线性表

      本文链接:https://www.haomeiwen.com/subject/xoizvqtx.html