![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
jifukui
这个作者很懒,什么都没留下…
展开
-
数据结构与算法:4栈的链式存储
上一章我们讲了栈的线性存储这里我们将会讲解栈的链式存储,和线性表的顺序存储和链式存储一样。栈的链式存储也解决了栈的顺序存储需要事先分配整块存储空间的问题。 栈的结构 typedef struct stack { struct sStackNode *top; int len; }sStack,*psStack; 下面来介绍一下栈的操作: 1.初始化栈 sStack*...原创 2019-11-27 21:40:24 · 140 阅读 · 0 评论 -
数据结构与算法:3栈的顺序存储
栈是线性表的一种特例,它使得数据先入后出,就行垒砖似的最先垒的砖在最下面但是取的时候需要最后才能取到,最后垒的砖在最上面,但是取的时候是第一个取走。 栈的结构: typedef struct stack { int data[MAX]; int top; }sStack,*psStack; 这里是使用的int型的数据,data数组为栈空间,最多数据元素为MAX个,top指向...原创 2019-11-19 22:00:00 · 170 阅读 · 0 评论 -
Lintcode 42. 最大子数组的和
Lintcode的第42题最大子数组的和这道题开始的时候会让人会想的很多感觉没有解决问题的思路很容易写出循环嵌套的暴力解题的算法,其实简单的想想这个问题是很容易解决的。 首先将数组分成两类:1包含正数的数组2不包含整数的数组。 对于包含正数的数组的处理比较复杂,咱们这里先不说线索对于不包含正数的数组的处理: 不包含正数的数组 数组不包含正数的解题思路是获取整个数组中的最大值并返回最大值就可...原创 2019-10-31 09:15:21 · 150 阅读 · 0 评论 -
数据结构与算法:2线性表的链式存储
上一节讲述了线性表的顺序存储,对于线性表的顺序存储出现的问题,需要分配一整段连续的存储空间失败的可能性较之于链式存储大,同时进行数据插入和删除的时候可能造成需要移动整个线性表。下面要说的线性表的链式存储很好的解决了上述出现的问题,相比较于顺序存储链式存储稍微难理解一些,编程的难度也稍微大一些。 下面讲述线性表链式存储的一些函数: 初始化线性表 List*ListInit(); 销毁线性...原创 2019-10-24 14:32:54 · 333 阅读 · 0 评论 -
数据结构与算法:1线性表的顺序存储
线性表表示的是包含相同类型数据元素的一个线性序列,比如咱们常见的数组。 顺序存储表示的是使用一整块连续的内存空间使用静态分配和动态分配都可以。 线性表的顺序存储是整个数据结构中第一个要学习的数据结构,同样也是最简单的数据结构。 线性表的孙处存储的函数有: (1)初始化线性表。 (2)销毁线性表。 (3)清除线性表的内容。 (4)获取线性表的长度。 (5)判断线性表是否为空。 (6...原创 2019-10-17 17:01:39 · 194 阅读 · 0 评论