题目描述 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2 ...
分类:
其他好文 时间:
2019-10-09 19:22:56
阅读次数:
85
跳表对数据结构中的数据常见的操作有:查找、插入、删除。有序数组的二分查找操作速度很快,但是插入、删除操作很耗时,并且对内存要求很苛刻。那么有什么数据结构能够做到查找、插入、删除操作速度都很快而且对内存要求不高呢?——答案是:跳表。 跳表是什么?即:把有序链表改造位支持“二分查找”算法,这种链表叫做跳 ...
分类:
其他好文 时间:
2019-10-09 19:01:48
阅读次数:
150
关于栈与队列 栈与队列是特殊的线性表。 访问,插入,删除等操作只能在栈顶进行;对于队列,元素只能从队尾插入,从队头删除和访问。 换句话说,栈和队列是有操作限制的线性表。 顺序存储的栈称为顺序栈;链式存储的栈称为链式栈。 基于数组实现栈 基于链表实现栈 基于数组实现队列 基于链表实现队列 ...
分类:
其他好文 时间:
2019-10-08 14:20:51
阅读次数:
85
HashMap 基于哈希表实现。使用HashMap要求添加的键类明确定义了hashCode()和equals()[可以重写hashCode()和equals()],为了优化HashMap空间的使用,您可以调优初始容量和负载因子。 适用于在Map中插入、删除和定位元素。 TreeMap 基于红黑树实现 ...
分类:
其他好文 时间:
2019-10-08 12:11:53
阅读次数:
71
1、思路 吸取了前几道题设置头节点重新插入的想法 建立空的头节点,和一个指向结点的指针p用来控制插入的位置 判断第一个值和第二个值是否相等相等,链表头指针向后移动,直至不等,把head结点插入到空结点后面,直至完成 2、错误 错误提示:Line 16: Char 18: runtime error: ...
分类:
其他好文 时间:
2019-10-07 23:45:19
阅读次数:
222
ConcurrentLinkedQueue ConcurrentLinkedQueue内部的队列使用带头节点的单向链表实现,并且维持头尾两个指针,头指针出队、尾指针入队。该队列的出队入队操作都是线程安全的。 保证安全的方式 对于头尾指针均使用volatile关键字修饰从而保证可见性,对于头尾指针的修 ...
分类:
编程语言 时间:
2019-10-07 11:19:57
阅读次数:
78
1. 数据定义语言DDL: 用于定义数据库的逻辑结构,包括数据库、基本表、视图和索引等,扩展DDL还支持存储过程、函数、对象、触发器等的定义。DDL包括三类语言,即定义、修改和删除; 2. 数据操作语言DML: 主要用于对数据库的数据进行检索和更新,其中更新操作包括插入、删除和修改数据; 3. 数据 ...
分类:
数据库 时间:
2019-10-06 14:53:37
阅读次数:
226
循环队列 当用顺序结构实现队列时如图所示:可以用一个数组代表队列空间,队列为空时 rear和front都是指向数组第一个元素。 从队尾插入的时候可以先将队尾指向的数组赋值,再将队尾指针+1 从对头弹出元素则是先给取出元素值再将队头指针+1 但如果这么做,就会遇到一个棘手的问题,那就是队头弹出和队尾插 ...
分类:
其他好文 时间:
2019-10-06 13:25:12
阅读次数:
89
package mainimport ( "bufio" "fmt" "io" "os")func WriteFile(path string) { //创建一个文件,并返回文件的头指针 f, err := os.Create(path) if err != nil { fmt.Println("e ...
分类:
其他好文 时间:
2019-10-06 00:16:56
阅读次数:
99
void modify(lld *t,int i,lld x){ while(x<=n){ t[i]+=x; i+=lowbit(i); }} c语言里数组的实质就是个头指针 规定了类型的指针可以有这样类似数组的用法 (CRK) ...
分类:
编程语言 时间:
2019-10-05 12:30:19
阅读次数:
65