链表定义:链表是由一系列节点组成的元素结合。每个节点包含两个部分,数据域item和指向下一个节点的指针next。通过节点之间的相互连接,最终串联成一个链表。 一、单链表 1、节点定义 2、建立链表 (1)头插法 头插法是在头结点这边插入。 (2)尾插法 不光要知道头还需要知道尾在哪。从尾节点插入。 ...
分类:
其他好文 时间:
2018-09-24 13:40:40
阅读次数:
239
1 #include 2 #include 3 /* 4 头插法链表拆分:1,建立空链表。2插入节点。3遍历输出插入节点后的链表数据 5 */ 6 typedef struct node 7 { 8 int data; 9 struct node * next; 10 }NODE; 11 //1.建... ...
分类:
其他好文 时间:
2018-09-24 00:47:53
阅读次数:
135
1 #include 2 #include 3 /* 4 尾插法创建链表:尾插法就是每次都把结点插在尾结点后面 5 总结:尾插法相对头插法 需要多定义一个指针pt来保存尾结点的地址。 6 */ 7 typedef struct node 8 { 9 int data; 10 struct node ... ...
分类:
其他好文 时间:
2018-09-24 00:41:47
阅读次数:
174
1 #include 2 #include 3 /* 4 头插法建立链表:所谓头插法,就是新来的结点每次都插在头结点后面 5 内功心法:让新来的结点先有所指向(指向头结点的下一个结点),新来的结点,有所指向不会打断原有的指向关系。 6 */ 7 typedef struct node 8 { 9 i... ...
分类:
其他好文 时间:
2018-09-24 00:32:58
阅读次数:
255
HashMap HashMap 为了便于理解,以下源码分析以 JDK 1.7 为主。 1. 存储结构 内部包含了一个 Entry 类型的数组 table。 2. 拉链法的工作原理 新建一个 HashMap,默认大小为 16; 插入 <K1,V1> 键值对,先计算 K1 的 hashCode 为 11 ...
分类:
编程语言 时间:
2018-09-09 12:00:36
阅读次数:
142
1.创建头结点 2.创建新结点 3.新结点next指向头结点next 4.头结点next指向新结点 ...
分类:
Web程序 时间:
2018-09-05 01:02:33
阅读次数:
205
1. 概述 a. 它就是一个键值对,对于hash冲突的处理采用了头插法的链式存储来解决。 b. 对rehash,扩展就是取第一个大于等于 used * 2 的2 ^ n的数作为新的hash表大小;缩紧就是取第一个大于等于 used 的2 ^ n的数作为新的hash表大小。 c. 有个负载因子的概念( ...
分类:
其他好文 时间:
2018-08-27 23:21:54
阅读次数:
240
package com.darrenchan; public class MyList { /** * 插入(头插法) */ public static void headInsert(ListNode head, ListNode newhead){ ListNode old = head; he... ...
分类:
其他好文 时间:
2018-08-25 22:17:32
阅读次数:
200
利用头插法实现的链表的逆置,每次取头结点作为新链表的尾结点(注意新链表的头结点)
分类:
其他好文 时间:
2018-08-04 11:51:17
阅读次数:
128
(1)单向循环链表定义: 单链表的一个变形是单向循环链表,链表中最后一个节点的next域不再为None,而是指向链表的头节点。 (2)操作: is_empty(): 判断链表是否为空 length(): 返回链表的长度 travel(): 遍历 add(item): 在头部添加一个节点 append ...
分类:
其他好文 时间:
2018-07-04 13:26:15
阅读次数:
164