美文网首页
线性表和队列

线性表和队列

作者: Caesar_emperor | 来源:发表于2019-11-06 17:50 被阅读0次

首先,讨论的堆和栈指的是内存中的“堆区”和“栈区”。C语言的内存模型分为5个区:栈区、堆区、静态区、常量区、代码区。每个区存储的内容如下:

1、栈区:存放函数的参数值、局部变量等,由编译器自动分配和释放,通常在函数执行完后就释放了,其操作方式类似于数据结构中的栈。栈内存分配运算内置于CPU的指令集,效率很高,但是分配的内存量有限,比如iOS中栈区的大小是2M。

2、堆区:就是通过new、malloc、realloc函数分配的内存块,编译器不会负责它们的释放工作,需要用程序区释放。在iOS开发中所说的“内存泄漏”说的就是堆区的内存。

3、静态区:全局变量和静然后态变量(在iOS中就是用static修饰的局部变量或者是全局变量)的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后,由系统释放。

4、常量区:常量存储在这里,不允许修改。

5、代码区:存放函数体的二进制代码。

其次,谈谈什么是线性表

线性,是说数据在逻辑结构上具有线性关系。将具有线性关系的数据存储到计算机中所使用的存储结构称为线性表。通俗的讲就是:每个数据元素,在它的前面可以找到唯一一个数据和它挨着,后面也只有一个数据和它挨着。这样,数据在逻辑结构呈线性分布,称这样的存储结构为线性表。
线性表中存储的数据本身的类型一定保持相同,是int型就都是int型,是结构体就都是一种结构体。
数据一旦用线性表存储,各数据元素在逻辑结构上的前后次序就固定了。

线性表中的数据元素、数据项、记录和文件

在线性表中,无论数据本身由多少种数据类型(每一种被称为一个“数据项”)组成,每一条数据被称为“数据元素”。如果数据元素本身包含的数据项非常多,就可以称这个数据元素为一个“记录”,多条记录组成一个“文件”。

最后聊聊线性表和队列

线性表是首尾相接的(每个节点都有两块空间,一个是存要存的数据一块是前一个节点所在存储空间的地址),就是后一个存着前一个所在的地址(也就是指针指向前一个)存储空间不是固定连续的;
栈和队列是连续的一段空间,栈就像一个铁桶,有底无盖,先进去的就只能被压在最低下,最后才能取出来(假如是存满一次再全取出的话);
队列是一根管子,大家排队钻进去,先钻进去的就先从另一端出来。

相关文章

  • 数据结构

    线性表 线性表分为顺序表与链表 栈和队列 栈:先进后出队列:先进先出栈和队列都是线性表的特征形式 二叉树 对于相对...

  • 第四章栈与队列

    知识大纲 栈和队列的数据结构 相同点 栈和队列都是对删除和插入做了限制的线性表 栈和队列的都是建立在线性表的...

  • 栈和队列(一)

    栈和队列 栈和队列是两种特殊的线性表,是操作受限的线性表,称限定性DS。 栈和队列是限定插入和删除只能在表的“端点...

  • 二、栈和队列

    二、栈和队列 栈和队列都是线性结构,它们是操作受限的线性表,即它们的操作是线性表操作的子集。因此也可以用线性表在某...

  • 栈和队列—什么是栈

    栈和队列是两种重要的数据结构 从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子...

  • 栈和队列—什么是队列

    栈和队列是两种重要的数据结构 从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子...

  • 数据结构与算法 — 栈

    栈和队列是两种重要的现行结构。从数据结构角度看,栈和队列也是线性表,其特殊性在于栈和队列的基本操作是线性表操作的子...

  • 4.数据结构--栈与队列

    首先需要介绍栈和队列与线性表的关系栈:栈是限定在表尾进行插入和删除的线性表队列:队列是只允许在一段进行插入操作,在...

  • 队列

    如何理解“队列”? 特点 先进先出,后进后出 “操作受限”的线性表,队列尾部插入,队列头部删除 顺序队列和链式队列...

  • 队列的表示和实现

    1、队列的基本概念 和堆栈一样队列也是一种特殊的线性表,队列的数据元素及数据元素间的逻辑关系和线性表是完全相同的,...

网友评论

      本文标题:线性表和队列

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