简单列了一点 1.1 基本数据结构 1. 数组 2. 链表,双向链表 3. 队列,单调队列,双端队列 4. 栈,单调栈 1.2 中级数据结构 1. 堆 2. 并查集与带权并查集 3. hash 表 自然溢出 双hash 1.3 高级数据结构 1. 树状数组 2. 线段树,线段树合并 3. 平衡树 T ...
分类:
编程语言 时间:
2018-03-01 00:38:54
阅读次数:
225
一、双向链表(double linked list)如图26.5,是在单链表的每个结点中,再设置一个指向其前驱结点的指针域。双向链表的基本操作与单链表基本一样,除了插入和删除的时候需要更改两个指针变量,需要注意的是修改的顺序很重要,插入如图3-14-5,删除如图3-14-6。 链表的delete操作 ...
分类:
其他好文 时间:
2018-02-26 11:32:51
阅读次数:
198
数组、单链表和双链表介绍 以及 双向链表的C/C++/Java实现 概要 线性表是一种线性结构,它是具有相同类型的n(n≥0)个数据元素组成的有限序列。本章先介绍线性表的几个基本组成部分:数组、单向链表、双向链表;随后给出双向链表的C、C++和Java三种语言的实现。内容包括:数组单向链表双向链表 ...
分类:
编程语言 时间:
2018-02-24 15:01:26
阅读次数:
182
Linux内核中双向链表的经典实现 概要 前面一章"介绍双向链表并给出了C/C++/Java三种实现",本章继续对双向链表进行探讨,介绍的内容是Linux内核中双向链表的经典实现和用法。其中,也会涉及到Linux内核中非常常用的两个经典宏定义offsetof和container_of。内容包括:1. ...
分类:
系统相关 时间:
2018-02-24 14:50:55
阅读次数:
260
原理图: 运行结果: Node代码: public class Node { int data; Node next; Node previous; //前向指针 public Node(int value) { // TODO Auto-generated constructor stub thi ...
分类:
编程语言 时间:
2018-02-24 13:02:53
阅读次数:
223
chunk 容器 ptmalloc统一管理heap和mmap区的chunk,避免了频繁的系统调用,一共维护了128个bin,使用数组来存储,所有的bin都是双向链表。 2.Fast Bins 对于不大于max_fast的chunk加入fast bins,标志位P不改变(为了不使其合并),在认为内存碎 ...
分类:
其他好文 时间:
2018-02-22 21:26:29
阅读次数:
675
#include <stdio.h> #include <conio.h> #include <stdlib.h> //system(); 这个指令须要用到此头文件 #include <ctype.h> //toupper要用到 #include <malloc.h> //在内存管理时用到的头文件 ...
分类:
其他好文 时间:
2018-02-18 13:56:36
阅读次数:
130
题目如下: 本来自己写了个链表,但是写的有问题,通不过后3组数据,后来在同学的提示下,用数组模拟链表,然后我就用2元数组模拟双向链表,因为此题颜色不重复,所以模拟较为简单,代码如下: 此代码已通过评测,因为查找删除添加时间都是O(1),所以比链表强很多。(如果颜色允许重复的话,可能会复杂点,但类似哈 ...
分类:
编程语言 时间:
2018-02-06 14:21:56
阅读次数:
427
当进行index full scan的时候 oracle定位到索引的root block,然后到branch block(如果有的话),再定位到第一个leaf block, 然后根据leaf block的双向链表顺序读取。它所读取的块都是有顺序的,也是经过排序的。而index fast full s ...
分类:
数据库 时间:
2018-02-06 01:05:44
阅读次数:
247