文章 2024-06-25 来自:开发者社区

【数据结构】操作受限的线性表,栈的具体实现

前言   栈作为一种重要的线性结构,我们对栈的学习是必不可少的。本篇文章将会详细地介绍栈是如何具体实现的。   文章末尾附带源码。 一、栈是什么   在学习栈是如何实现的之前,我们需要直到栈是什么,它与普通的线性结构有什么区别。简而言之,栈就是操作受限的线性表,它限定仅在栈顶进...

【数据结构】操作受限的线性表,栈的具体实现
文章 2024-06-06 来自:开发者社区

数据结构和算法学习记录——特殊线性表之栈(下)-销毁栈函数、判断栈是否为空、压栈函数、出栈函数、取栈顶元素、计算栈中有多少个元素、栈有关习题-有效的括号

特殊线性表之栈(上) 销毁栈函数 void StackDestroy(ST* ps) { assert(ps); free(ps->a); ps->a = NULL; ps->capacity = ps->top = 0;...

数据结构和算法学习记录——特殊线性表之栈(下)-销毁栈函数、判断栈是否为空、压栈函数、出栈函数、取栈顶元素、计算栈中有多少个元素、栈有关习题-有效的括号
文章 2024-06-06 来自:开发者社区

数据结构和算法学习记录——特殊线性表之栈(上)-栈的概念、栈的结构、链式栈数组栈、栈的结构体定义、栈的基本接口函数、栈顶初始化函数

栈的概念 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。 进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈。数据在栈顶进入。出栈:栈的删除操作叫做出栈。数据也在栈顶出去。 ...

数据结构和算法学习记录——特殊线性表之栈(上)-栈的概念、栈的结构、链式栈数组栈、栈的结构体定义、栈的基本接口函数、栈顶初始化函数
文章 2024-04-30 来自:开发者社区

数据结构第四课 -----线性表之栈

栈的概念和结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除的一端称为栈顶,另一端称为栈底栈里的元素遵循后进先出的原则 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶 出栈:栈的删除操作叫做出栈,出数据也在栈顶 ...

数据结构第四课 -----线性表之栈
文章 2024-03-26 来自:开发者社区

【C/C++ 数据结构 线性表】深入理解与实现栈:从基础到应用的全面探索

1. 栈的基本定义与元素 (Basic Definition and Elements of Stack) 1.1 定义 (Definition) 栈(Stack)是一种特殊的线性数据结构,它只允许在一端进行插入和删除操作。这一端通常被称为“栈顶”(Top),而另一端则被称为“栈底”(Bottom)。由于栈的这种特性,它遵循后进先出(Last In First Out, LIFO...

【C/C++ 数据结构 线性表】深入理解与实现栈:从基础到应用的全面探索
文章 2023-06-14 来自:开发者社区

基础数据结构-线性表-栈-队列(上)

1.顺序表定义顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。顺序表又分为:静态顺序表和动态顺序表。结构体定义结构体定义://定义变量类型 #define DataType int #define MAX 100 //顺序表结构声明 静态顺序表 //struct SeqList { // DataType data[MAX];.....

文章 2023-06-14 来自:开发者社区

基础数据结构-线性表-栈-队列(下)

3.双链表结构体定义(带头双向循环链表)这种链表结构非常完美,能在O(1)时间内完成插入删除的任务。typedef int DataType; //带头双向循环链表 typedef struct ListNode { DataType data; //存储数据 struct ListNode* next; //指向下一结点 struct ListNode* prev; //指向...

文章 2023-05-26 来自:开发者社区

【初阶数据结构】——限定性线性表:栈 和 队列详解(C描述)

前言这篇文章我们继续线性表的学习,今天我们要学习两种特殊的线性表——限定性线性表,通俗点说,就是操作受限制的线性表。也是非常常用的两种数据结构:栈和队列!1. 栈首先我们来学习栈。1.1 栈的概念及结构首先我们来了解一下什么是栈:栈(stack)又名堆栈,它是一种运算受限的线性表。其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守....

【初阶数据结构】——限定性线性表:栈 和 队列详解(C描述)
文章 2022-12-02 来自:开发者社区

数据结构实训报告(线性表+栈和队列+二叉树+图+排序)

来自草稿箱的最早一篇博客。一、线性表的基本操作1.实验内容:(1)输入并建立多项式,用带表头结点的单链表存储多项式。(2)输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……cn,en, 其中n是多项式的项数,ci,ei分别为第i项的系数和指数。序列按指数降序排列。(3)多项式a和b相加,建立多项式a 、b,输出相加的多项式。(4)多项式a和b相减,建立多项式a 、b,输出相减的多项式....

文章 2022-06-13 来自:开发者社区

JavaScript 数据结构与算法之美 - 线性表(数组、栈、队列、链表)(下)

5. 链表定义链表存储有序的元素集合,但不同于数组,链表中的元素在内存中并不是连续放置的,它是通过 指针 将 零散的内存块 串连起来的。每个元素由一个存储元素本身的 节点 和一个指向下一个元素的 引用(也称指针或链接)组成。简单的链接结构图:其中,data 中保存着数据,next 保存着下一个链表的引用。上图中,我们说 data2 跟在 data1 后面,而不是说 data2 是链表中的第二个元....

JavaScript 数据结构与算法之美 - 线性表(数组、栈、队列、链表)(下)

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

算法编程

开发者社区在线编程频道官方技术圈。包含算法资源更新,周赛动态,每日一题互动。

+关注