一.链表学习数据结构链表的时候,就有区分 带头结点的链表和不带头结点的链表当时写完带头结点的链表的基本操作算法后,又写了一遍不带头结点的链表的基本操作。发现是否带头结点的区别主要体现在2个操作的算法上:插入和删除不带头结点的链表的插入和删除操作因为涉及对第一个结点插入删除,会改变头指针的值,需要对第...
分类:
其他好文 时间:
2015-07-26 11:04:59
阅读次数:
192
双端队列是一种特殊队列,它是在线性表的两端对插入和删除操作限制的线性表。双端队列可以在队列的任何一端进行插入删除操作。#include
#define QUEUESIZE 8
typedef char ElemType;
typedef struct DQueue
{
ElemType queue[QUEUESIZE];
int end1;
i...
分类:
其他好文 时间:
2015-07-26 09:48:59
阅读次数:
133
队列(queue)是一种常用的数据结构,可以将队列看做是一种特殊的线性表,该结构遵循的先进先出原则。Java中,LinkedList实现了Queue接口,因为LinkedList进行插入、删除操作效率较高
相关常用方法:
boolean offer(E e):将元素追加到队列末尾,若添加成功则返回true。
E poll():从队首删除并返回该元素。
E peek():返回队首元素,但是不删...
分类:
编程语言 时间:
2015-07-25 08:22:07
阅读次数:
547
/*
1>多个数据拼接成一个字符串
2>字符串的末尾追加新的字符
3>在指定的范围插入字符串
4>使用新的字符替换原有的字符
5>在字符串中删除特定的某些字符
6>去掉字符串中的空格
*/
#import
int main(int argc, const char * argv[]) {
@autoreleasepool {
...
分类:
其他好文 时间:
2015-07-24 09:22:10
阅读次数:
148
上一篇博文中主要总结线性表的顺序存储结构实现,比如顺序表、顺序队列和顺序栈。具体可以参考上篇博文
http://blog.csdn.net/lg1259156776/article/details/46993591
下面要进行学习和总结的是线性表的链式存储结构实现,比如链表和链队列。
顺序存储结构的优缺点
优点是逻辑相邻,物理相邻,可随机存取任一元素,存储空间使用紧凑;缺点是插入、删除...
分类:
其他好文 时间:
2015-07-23 11:59:49
阅读次数:
166
C++ Primer 学习笔记_13_标准模板库_list双向链表容器
list容器实现了双向链表的数据结构,数据元素是通过链表指针串连成逻辑意义上的线性表,这样,对链表的任一位置的元素进行插入、删除和查找都是超快速的。下图是双向循环链表的结构示意图。
list的每个节点有三个域:前驱元素指针域、数据域和后继元素指针域。前驱元素指针域保存了前驱元素的首地址;数据域则是本节...
分类:
编程语言 时间:
2015-07-23 00:47:33
阅读次数:
197
栈的定义:(特殊的线性表)??仅在表的一端进行插入和删除的线性表。允许插入、删除的这一端称为栈顶,另一端称为栈底。表中没有元素时称为空栈。??被称为后进先出的线性表(Last In First Out),简称 LIFO表,或被称为先进后出的线性表(First In Last Out),简称 FILO表。??栈更具存储方式的不同分为两种:顺序栈和链栈。顺序栈:
和顺序表一样,顺序栈也采用数组来存放数据...
分类:
编程语言 时间:
2015-07-21 10:47:55
阅读次数:
242
STL map和set的使用虽不复杂,但也有一些不易理解的地方,如:# 为何map和set的插入删除效率比用其他序列容器高?# 为何每次insert之后,以前保存的iterator不会失效?# 为何map和set不能像vector一样有个reserve函数来预分配数据?# 当数据元素增多时(100....
分类:
其他好文 时间:
2015-07-20 22:47:32
阅读次数:
250
书上的题目,带头链表&不带头链表不带头链表为空时,判断:head==NULL;带头链表为空是,判断head->next=NULL;但对于链表的插入、删除会有不同,不带头链表对于头节点需要单独处理,而对于带头链表则不需要 1 #include 2 using namespace std; 3 typ....
分类:
其他好文 时间:
2015-07-20 21:24:12
阅读次数:
96
红黑树的由来:在查找中,虽然hash表查找非常迅速,但是随着数据的种类增多,hash表长会变得更长,且冲突也会越来越多,那么如何才能实现无论在多大数据量的情况下,查找依然是高性能的呢?同时我们又知道树是很好的一种数据结构,那用于插入,删除,查找等都是很高效的数据树构,但问题是在很坏的情况下,操作很费...
分类:
编程语言 时间:
2015-07-20 15:44:47
阅读次数:
114