码迷,mamicode.com
首页 >  
搜索关键字:头指针 插入删除    ( 1800个结果
剑指offer (5) 链表插入删除
我们在操作链表的时候,必须注意以下事项:1. 链表指针为NULL的情况2. 插入删除涉及到 链表第一个节点时,需要修改 链表的第一个节点:a. 因为 c语言都是传值的,如果需要修改一个变量,就必须通过 指向该变量的指针(即该变量的地址)例如:例如 修改 int a,则输入参数必须是 int* a, ...
分类:其他好文   时间:2014-06-07 11:19:08    阅读次数:216
红黑树和AVL树的比较
1. 红黑树并不追求“完全平衡”——它只要求部分地达到平衡要求,降低了对旋转的要求,从而提高了性能。   红黑树能够以O(log2 n) 的时间复杂度进行搜索、插入、删除操作。此外,由于它的设计,任何不平衡都会在三次旋转之内解决。当然,还有一些更好的,但实现起来更复杂的数据结构,能够做到一步旋转之内达到平衡,但红黑树能够给我们一个比较“便宜”的解决方案。红黑树的算法时间复杂度和AVL相同,但统...
分类:其他好文   时间:2014-06-05 01:44:35    阅读次数:232
[考研系列之数据结构]线性表之链表
1.链表分类 通过线性表概述,我们知道了链表这样一种数据结构,它又分成三类,分别是 单向链表循环链表双向链表 单向链表 单向链表的指针域只有一个指向下一个节点的指针,需要注意几点: 1.头指针——指向第一个节点 2.最后一个结点的指针指向NULL 3.头结点——在链表的第一个结点之前附设一个结点,它的数据域为空 所以,我们看到:     单向链表为空的链表...
分类:其他好文   时间:2014-06-03 01:05:56    阅读次数:311
C数据结构-栈和队列,括号匹配举例
1.栈和队列是两种特殊的线性表             运算操作被限定只能在表的一端或两端插入,删除元素,故也称它们为限定的线性表结构 2.栈的基本运算 1).Stackinit(&s) 构造一个空栈 2).Stackempty(s) 判断s是否为空栈,当s为空栈时,函数返回值1 否则 0 3).Push(&s,x)  在栈s 的顶部插入元素x,简称将x入 栈 4).Pop(&...
分类:其他好文   时间:2014-06-01 09:08:36    阅读次数:278
JAVA的StringBuffer类
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类。所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入、删除等操作...
分类:编程语言   时间:2014-05-26 18:48:24    阅读次数:262
第08章 二叉树
二叉树 1.为什么要使用二叉树? 二叉树结合了有序数组快速查找和线性链表快速插入删除的优势。 树是一种既能像有序数组一样实现快速查询,又能像链表一样实现快速地插入和删除的数据结构. 2.有关树的几个术语 路径:从一个节点走到另一个节点,过程中数据的排列叫做路径. 根:一个树只有一个根,只有子节点,没有父节点. 父节点:每个节点都向上连接的节点叫做父节点,根没有父节点,一个子节...
分类:其他好文   时间:2014-05-26 05:59:50    阅读次数:171
数据结构——单链表
单链表及其ADT void deleteList(); //删除整个链表 List makeEmpty(List l);//清空链表,只留头结点 int isEmpty(List l);//判断是否为空 int isLast(List l, Position p);//判断是否是最后一个结点 List createList();//创建一个链表 void insert(List l,...
分类:其他好文   时间:2014-05-25 07:18:35    阅读次数:222
顺序循环队列的c语言实现
1. 循环队列的顺序存储结构 typedef struct { QElemType data[MAXSIZE]; int front; /* 头指针 */ int rear; /* 尾指针,若队列不空,指向队列尾元素的下一个位置 */ }SqQueue; 2. 初始化一个空队列Q Status InitQueue(SqQueue *Q) { Q->fr...
分类:编程语言   时间:2014-05-25 04:43:05    阅读次数:407
初涉Splay Tree
Splay Tree 支持的之中操作。 插入,删除,求前驱和后即,区间更新与查询。 先来一发Splay Tree最基础的操作——伸展。 #include #include #include #include #include #include #include #include #include #pragma comment(linker, "/STACK:102400...
分类:其他好文   时间:2014-05-25 04:27:37    阅读次数:291
算法——基础篇——二分查找
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。     首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一...
分类:其他好文   时间:2014-05-24 17:17:38    阅读次数:237
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!