循环队列 当用顺序结构实现队列时如图所示:可以用一个数组代表队列空间,队列为空时 rear和front都是指向数组第一个元素。 从队尾插入的时候可以先将队尾指向的数组赋值,再将队尾指针+1 从对头弹出元素则是先给取出元素值再将队头指针+1 但如果这么做,就会遇到一个棘手的问题,那就是队头弹出和队尾插 ...
分类:
其他好文 时间:
2019-10-06 13:25:12
阅读次数:
89
package mainimport ( "bufio" "fmt" "io" "os")func WriteFile(path string) { //创建一个文件,并返回文件的头指针 f, err := os.Create(path) if err != nil { fmt.Println("e ...
分类:
其他好文 时间:
2019-10-06 00:16:56
阅读次数:
99
void modify(lld *t,int i,lld x){ while(x<=n){ t[i]+=x; i+=lowbit(i); }} c语言里数组的实质就是个头指针 规定了类型的指针可以有这样类似数组的用法 (CRK) ...
分类:
编程语言 时间:
2019-10-05 12:30:19
阅读次数:
65
什么是单向循环链表 单向循环链表基本与 "单向链表" 相同,唯一的区别就是单向循环链表的尾节点指向的不是null,而是头节点(注意:不是头指针). 因此,单向循环链表的任何节点的下一部分都不存在NULL值。 由于单向循环链表的特性,它在处理一些环状数据的时候十分有效.大名鼎鼎的约瑟夫环问题就可以用循 ...
分类:
编程语言 时间:
2019-10-01 00:06:02
阅读次数:
154
1.首先创建头指针并初始化,即头指针->next=NULL。接着创建链表指针,并用头指针初始化。 2.可用while循环获取信息,直到检测到输入值为0为止。在循环中,给链表指针申请新的内存空间,并初始化,同时因节点增加,指针不断后移。 3.删除函数,头节点单拿出来判断。创建临时指针保存满足条件的节点 ...
分类:
其他好文 时间:
2019-09-16 21:56:44
阅读次数:
162
线索二叉树利用二叉树空余的指针域,来实现二叉树的链式化。然后,就可以通过前驱,后继像双向链表一样根据某种遍历次序对树的结点进行访问。 数据结构: 建立线索二叉树: 不同的遍历顺序,会得到不同的线索二叉树。 一般使第线索链表的头和尾指向NULL(也可以加入一个头指针) 以中序遍历为例:(对左子树处理, ...
分类:
其他好文 时间:
2019-09-15 11:00:53
阅读次数:
207
原理 把具有相同散列地址的关键字(同义词)值放在同一个单链表中,称为同义词链表。有m个散列地址就有m个链表,同时用指针数组T[0..m-1]存放各个链表的头指针,凡是散列地址为i的记录都以结点方式插入到以T[i]为指针的单链表中。T中各分量的初值应为空指针。 用途 场景 HashMap就用了拉链法 ...
分类:
其他好文 时间:
2019-09-14 11:10:00
阅读次数:
212
业务需求:给定一个指向头指针的链表,反转链表。实现过程:更改相邻节点之间的链域。 例: 输入: 1->2->3->4->NULL输出:4->3->2->1->NULL 输入:1->2->3->4->5->NULL输出:5->4->3->2->1->NULL 输入: NULL输出: NULL 输入: ...
分类:
其他好文 时间:
2019-09-01 18:25:07
阅读次数:
85
一、链表概述 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,he ...
分类:
编程语言 时间:
2019-09-01 16:23:46
阅读次数:
109