以图明志

数据结构

[专题] 链队列的初始化操作

还有return和exit有区别
链队列的初始化应该怎么写呢?要初始化一个链队列,我们这么这么做:产生头结点 (QueuePtr)malloc(sizeof(QNode)),然后让队头指针(头指针)与队尾指针都指向头结点。置空头结点 Q->front 的指针域 Q->front->next=NULL;

数据结构

[专题] 链栈的初始化与遍历

链栈的基本操作
我们在定义完一个数据结构的结构体之后,需要初始化才能使用。比如顺序栈的初始化,也就是构造一个空栈就行了。那么链栈如何初始化呢?链栈初始化的目标也是要构造一个空栈。根据结构体定义,空栈是什么一个状况呢?就是栈的count = 0,并且栈的 top 为 null。所以知道这两点,我们就可以写出链栈的初始化函数了。

数据结构

[专题] 顺序栈的进栈操作

外加栈的初始化与遍历
对于栈来说,最重要的操作之一就是进栈。我们今天来看看如何实现顺序栈的进栈操作。进栈操作push大概分为两步。栈顶指针 S->top 先自增1,给需要进栈的元素腾出内存空间。再赋值。就是给对应的数组元素赋值:S->data[S->top]=e

数据结构

[专题] 单链表的初始化

初始化函数的设计
初始化一个链表需要做什么事情呢?头指针是必须要有的,头结点为了规范化操作,最好也得有。那么第一步就是:创建一个头结点,并且让头指针指向这个头结点。其实头指针也有了。参数 *L 传入的 L其实就是链表的首地址,也就是头指针。接下来也就是在内存开辟一个区域来作为头结点。

数据结构

[专题] 第04话:线性表的初始化

开始用代码去理解数据结构
初始化的函数怎么写呢。初始化就是建立一个空线性表,那直接把长度置为0就行了。因为要初始化,要对线性表本身进行操作,所以不能用值传递。值传递不会改变实参的值嘛。地址传递的话呢,实际上在函数内部执行了这么一个操作:L = &L. 所以操作函数内部的L,也就相当于操作外部的线性表L。

开源项目与工具

最土团购系统全局核心文件app.php介绍

初始化环境文件(app.php)
最土团购系统是国内比较常见的团购程序,在国内团购系统份额中所占比例还是比较大的。下面分析一下它的全局核心文件app.php,看看能不能找到一些干货,顺便也籍此开始深入了解下这个开源的团购系统。注释都写到代码里了,程序用到的自定义函数也单独地在后面列出,应该是比较好懂的了。

数据结构

[专题] 单循环链表的初始化、创建、删除、查找与遍历

单循环链表的基本操作
循环链表是一种链式存储结构,它的最后一个结点指向头结点,形成一个环。因此,从循环链表中的任何一个结点出发都能找到任何其他结点。循环链表的操作和单链表的操作基本一致,差别仅仅在于算法中的循环条件有所不同。链表、双链表、单循环链表、双循环链表 的实现代码都差不多,区别只是在对指针域的修改。下面,是对单循环链表的实现。

数据结构

带头结点与不带头结点的单链表初始化

带头结点与不带头结点
不带头结点的单链表对于第一个节点的操作与其他节点不一样,需要特殊处理,这增加了程序的复杂性和出现bug的机会,因此,通常在单链表的开始结点之前附设一个头结点。带头结点的单链表,初始时一定返回的是指向头结点的地址,所以一定要用二维指针,否则将导致内存访问失败或异常。

数据结构

[专题] 结构之美:单链表的初始化、创建与遍历

写一个简单的单链表
前面已经对单链表做了一些解释。链表在进行循环遍历时效率不高,但是插入和删除时优势明显。单链表实际上是由节点(Node)组成的,一个链表拥有不定数量的节点。而向外暴露的只有一个头节点(Head),我们对链表的所有操作,都是直接或者间接地通过其头节点来进行的。节点(Node)是由一个需要储存的对象及对下一个节点的引用组成的。
1 / 1 首页 < Prev 1 Next > 尾页 页码: