码迷,mamicode.com
首页 >  
搜索关键字:头指针 插入删除    ( 1800个结果
linux 命令之 pushd、popd、dirs,以及栈的基础知识
栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表 插入、删除这些操作的一端为栈顶(Top),另一端称为栈底(Bottom)。 当表中没有元素时称为空栈。 栈为一种先进后出的数据结构。或者称为后进先出 栈的修改需要遵循先进后出的原则。每次删除(退栈)的总是当前栈中”最新”元素(最后入栈的元素),而最先插入的元素是被放在栈的底部,要最后才能删除。 如图所示,元素是以...
分类:系统相关   时间:2015-05-08 14:56:38    阅读次数:182
C# 并行编程 之 并发集合 (.Net Framework 4.0)
此文为个人学习《C#并行编程高级教程》的笔记,总结并调试了一些文章中的代码示例。 在以后开发过程中可以加以运用。 对于并行任务,与其相关紧密的就是对一些共享资源,数据结构的并行访问。经常要做的就是对一些队列进行加锁-解锁,然后执行类似插入,删除等等互斥操作。 .NetFramework 4.0 中提供了一些封装好的支持并行操作数据容器,可以减少并行编程的复杂程度。 基本信息...
分类:Windows程序   时间:2015-05-08 10:56:37    阅读次数:230
数据结构与算法——线性表链式存储(单循环链表)
今天总结循环单链表 什么是单循环链表? 单链表终端结点的指针域是指向空的,如果将其指向头结点,这样就形成了一个环,那么这种首尾相接的环就够成了单循环链表. 单链表中我们都是用头指针来表示的,但是在单循环链表里,用尾指针(指向最后一个节点)。为什么要这样,因为如果用头指针,那么当查找最后一个元素的时候,就要循环遍历,时间复杂度为O(n),如果用尾指针,时间复杂度为O(1),而因为是循环的,所以...
分类:编程语言   时间:2015-05-07 14:44:21    阅读次数:192
【算法设计-链表】单链表与双向循环链表
1.单链表代码:包含了尾插法,插入,删除操作。 有头结点的单链表也是为了在第一个位置插入和删除时候容易,不需要另外讨论 #include #include typedef struct Linklist {  int key;  Linklist *next; }Linklist; Linklist* create_end() {   Linklist *head=(Link...
分类:编程语言   时间:2015-05-06 15:05:03    阅读次数:322
(含头指针以及尾指针)循环双向链表各类功能的实现
对循环双链表实现下述功能: void meau(); //菜单函数 void Initlist(List *list); //初始化 void show(List *list); //打印链表内容 bool Push_back(List *list,ElemType x); //尾插法 b...
分类:其他好文   时间:2015-05-05 08:52:16    阅读次数:123
实现自己的HashMap
看了HashMap源码,HashMap的结构采用的是数组+链表--Hash表,结合了数组寻找、存取和链表的易插入删除等优点。 HashMap的存取实现      既然是线性数组,为什么能随机存取?这里HashMap用了一个小算法,大致是这样实现: //存储时: int hash = key.hashCode();// 这个hashCode方法这里不详述,只要理解每个key的h...
分类:其他好文   时间:2015-05-04 22:12:38    阅读次数:96
3.4 从无头单链表中删除节点
题目:有一个单链表,没有头指针,现在有一个指针指向这个链表的中间的一个节点,要求删除这个节点。 方法:由于没有办法寻求指针去找到要删除的这个节点的前一个节点。    所以要另想办法。            设立新的指针指向要删除的节点的后一个节点,然后把这两个节点里面的数据换一下!然后删除要删除节点的后一个节点!    这样 就ok了! 代码: void DeleteRan...
分类:其他好文   时间:2015-05-04 22:10:59    阅读次数:124
线性表—单向循环链表
开始没看单向循环链表,感觉应该很简单,但实际上有几个概念不是很清楚:头结点,头指针,尾指针,尾节点???【个人理解】:头结点就是一个链表中实际存储数据的那个节点的前一个节点,这个节点不存储数据,只有一个指针指向第一个实际存储数据的节点(这个有效节点专业术语叫:首元素),这个节点就是头节点,指向头结....
分类:其他好文   时间:2015-05-03 15:55:21    阅读次数:120
二叉搜索树
一、概述            二叉排序树的查找过程和次优二叉树类似,通常采取二叉链表作为二叉排序树的存储结构。中序遍历二叉排序树可得到一个关键字的有序序列,一个无序序列可以通过构造一棵二叉排序树变成一个有序序列,构造树的过程即为对无序序列进行排序的过程。每次插入的新的结点都是二叉排序树上新的叶子结点,在进行插入操作时,不必移动其它结点,只需改动某个结点的指针,由空变为非空即可。搜索,插入,删除...
分类:其他好文   时间:2015-05-03 13:24:37    阅读次数:156
数据结构 - 动态查找
动态查找当查找表以顺序存储结构存储且需要保持有序时,若对查找表进行插入、删除或排序操作,就必须移动大量的记录,当记录数很多时,这种移动的代价很大。 若查找表无序,则插入删除可无需移动大量记录,但于查找不利。 利用树的形式组织查找表,可以对查找表进行动态高效的查找。二叉排序树二叉排序树(Binary Sort Tree或Binary Search Tree) 的定义为:二叉排序树或者是空树,或者是...
分类:其他好文   时间:2015-05-03 10:39:56    阅读次数:156
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!