list双向链表 高效进行插入删除数据 不可以随机存取元素,所以不支持at()和[]操作符。it可以++ --,不能it+5 节点序号从0开始 list<int> l; l.push_back(1);//尾插法 it++; it++; l.inserrt(it,100);//在2号位置插入元素,原来 ...
分类:
编程语言 时间:
2018-09-13 10:19:24
阅读次数:
147
注:玩的是JDK1.7版本 一:先上类的继承结构图 二:再看一下他的底层实现数据结构 三:然后从源码中找点好玩的东西 1)双向链表的结构构成元素,头指针、尾指针、节点信息(前向指针、后向指针、节点信息) 2)在链表尾部添加新节点,只需要改变链表尾指针的指针指向就可了,所以,性能相对 ArrayLis ...
分类:
编程语言 时间:
2018-09-11 21:08:27
阅读次数:
235
//实现顺序表的建立、初始化、插入、删除、修改、普通合并、有序合并 #include<iostream> #include<stdio.h> #include<stdlib.h> using namespace std; #define OK 1 #define ERROR 0 #define OV ...
分类:
其他好文 时间:
2018-09-10 21:18:24
阅读次数:
275
事务:要么都要完成,一个不完成就要回滚。 ACID 原子性 一致性 独立性 持久性 第一类丢失更新 第一类丢失更新 脏读(读了另外一个事务没有提交的数据) 不可重复读(在同一个事务里,对数据库里的值前后读取值不一样) 第二类丢失更新(不可重复读的特殊情况) 幻读/(插入/删除)(读的时候,插入一条数 ...
分类:
Web程序 时间:
2018-09-07 22:04:00
阅读次数:
225
1. 在尾部插入/删除元素 2. 在字符串中查找 ...
分类:
其他好文 时间:
2018-09-07 17:18:50
阅读次数:
211
这道题需要借助哈希查找key的O(n) 时间复杂度, 否则就会超时 初始化一个 哈希表\字典 dic 头指针start 初始为0 当前指针 cur 初始为0 最大长度变量 l 初始为0 用cur变量从给定字符串str的开头开始 一位一位的向右查看字符,直到整个字符串遍历完, 对每一位字符进行如下: ...
分类:
编程语言 时间:
2018-09-06 21:32:56
阅读次数:
233
模板(各种类型通用): template<class 模板名> 注意:若要使用模板,在每个自定义函数前都必须加上此定义。 排序(algorithm头文件): sort(头指针l,尾指针r):(void)将左闭右开区间[l,r)中的元素从小到大排序。时间复杂度O(nlogn)。 sort(头指针l,尾 ...
分类:
编程语言 时间:
2018-09-05 23:50:25
阅读次数:
190
#include #include typedef struct Node { int data; struct Node *next; } node; /*初始化链表: 1.首先给头指针分配空间,将头指针赋给temp 2.其次给每一个元素分配空间 3.将内容赋给当前节点的data,NULL赋给当前... ...
分类:
编程语言 时间:
2018-09-05 20:02:35
阅读次数:
218
前面讲解了数组,数组更多的是用来进行数据的存储,我们期望的数据结构是插入、删除和查找性能都比较好。对于无序数组,插入快,但是删除和查找都很慢,为了解决这些问题,后面我们会讲解比如二叉树、哈希表的数据结构。 而本篇博客讲解的数据结构和算法更多是用作程序员的工具,它们作为构思算法的辅助工具,而不是完全的 ...
分类:
编程语言 时间:
2018-09-02 20:22:55
阅读次数:
154
以下暂时只写明一些基本操作,待续。 一、简介 链表是动态分配存储空间的链式存储结构。 链表包括一个“头指针”变量,其中第0个结点称为整个链表的头结点,头结点中存放一个地址,该地址指向一个元素,头结点一般不存放具体数据,只是存放第一个结点的地址。链表中每一个元素称为“结点”,每个结点都由两部分组成:存 ...
分类:
编程语言 时间:
2018-09-02 17:12:21
阅读次数:
195