美文网首页代码优雅程序员
数据结构一顺序表

数据结构一顺序表

作者: QiuZhiFeng | 来源:发表于2017-03-23 23:32 被阅读67次

请尊重作者的劳动成果,如需转载请注明出处,谢谢!

如果觉得不错,可以关注我或者点赞,这就是你们对我最大的鼓励!



数据结构是算法的副产品,也就是说我们使用算法的时候,会创造出一些数据结构来实现我们的想法。那么想要更好的理解某些算法,就需要了解数据结构啦。

首先,我们来认识一个概念就是我们常用的数组,其实就是指针,如果不知道指针是什么,可以点击 指针

实验得真知

实际上,创建数组就是申请一块内存单元数组与指针是等价的

数组的内存示意图如下所示

指针就是存储内存地址的变量,就像我们找房子一样,通过门牌号找房子

门牌号就是内存地址,房子就是我们存放的值

* 这个符号代表访问该地址对应的变量,&代表获得该变量的地址

现在,我们开始讲第一种数据结构,也是最基础的一种数据结构------线性表。

那么什么是线性表呢,直观的来看,就是下图

线性表就是一个又一个像上图绿色的个体串起来一种结构。绿色的方格我们称作线性表的数据元素。   数据元素即可以放基本数据类型,又可以放自定义的结构体。

线性表很灵活,它可以根据需要伸长或者缩短,即既可以插入,又可以删除元素。

那么,如何实现呢?要求有

一、能够存放各种类型数据

二、能够通过自己访问下一个元素

三、长度能够伸长和缩短

数组能够满足前两条,然而为了能够满足第三条,我们就需要使数组大小能够变化,即创建动态大小的数组。也称为顺序表。

使用C语言实现基本增删改查如下图

容易发现,使用顺序表改和查十分方便,但是增和删却很麻烦,每次增或删都要将数组元素进行挪动。这是由于数据的结构所决定的。不同的数据结构对算法有着至关重要的影响。

当我们经常使用改和查时,我们使用这种结构比较方便。

但当使用增和删比较频繁时,我们可以使用另外一种结构,叫链表。链表实现增和删比顺序表方便很多。

下节我们将介绍链表

相关文章

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

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

  • 2.6 数据结构 --1.4 链表

    数据结构子目录https://www.jianshu.com/p/a344fa483655 顺序表 顺序表按照存储...

  • 带头结点的链表

    1、链表和顺序表 链表是很常见的数据结构,链表总是会和线性顺序表来比较。 1.1、顺序表 具有随机存储的特性,给定...

  • 【数据结构】单链表(Singly Linked List ) &

    更多精彩尽在微信公众号【程序猿声】 数据结构-线性表|顺序表|链表(中) 本节纲要 预备知识 顺序表(Sequen...

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

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

  • P 数据结构 | 线性表:顺序表

    一、线性表 最基本的数据结构之一 根据线性表的实际存储方式,分为两种实现模型顺序表、链表 1.1 顺序表 将元素顺...

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

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

  • josephus问题

    线性表是数据结构的中很常见的结构,其中一种就是顺序表,python已经内置了顺序表。list就是循序表的的实现。下...

  • 数据结构一顺序表

    请尊重作者的劳动成果,如需转载请注明出处,谢谢! 如果觉得不错,可以关注我或者点赞,这就是你们对我最大的鼓励! 数...

  • 数据结构-线性表

    [TOC] 线性表-List list是最简单的数据结构,可分为顺序表与链表,顺序表内部数据存储由数组实现,链表则...

网友评论

本文标题:数据结构一顺序表

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