摘要: 一 哈希表的基本介绍 散列表(Hash table,也叫哈希表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数组叫做散列表 二 使用 hashtable 来实现一个雇员的 阅读全文
posted @ 2022-09-18 20:52 南昌拌粉的成长 阅读(85) 评论(0) 推荐(0) 编辑
摘要: 栈的介绍 有些程序员也把栈称为堆栈,即栈和堆栈是同一个概念栈的英文为(stack)栈是一个先入后出(FILO-First In Last Out)的有序列表。栈(stack)是限制线性表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表。允许插入和删除的一端,为变化的一端,称为栈顶(Top) 阅读全文
posted @ 2022-09-18 20:15 南昌拌粉的成长 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 1)、冒泡排序 package main import ( "fmt" "log" ) func main() { sli := []int{2, 4, 9, 23, 90, -20, 3, 5, 21, -7, 32, 9, 14, 6} if len(sli) == 0 || len(sli) 阅读全文
posted @ 2022-09-18 17:43 南昌拌粉的成长 阅读(11) 评论(0) 推荐(0) 编辑
摘要: 单向环形链表 单向环形链表是一种特殊的单向链表。 单向链表最后一个节点的 Next 指针指向空。 而单向环形链表最后一个节点的 Next 指针指向头节点。 如图所示: package main import "fmt" type CatNode struct { No int Name string 阅读全文
posted @ 2022-09-18 17:18 南昌拌粉的成长 阅读(34) 评论(0) 推荐(0) 编辑
摘要: 1. 双向链表的应用实例 使用带head头的双向链表实现——王者容易英雄排行榜 单向链表的缺点分析: 1)单向链表,查找的方向只能是一个方向,而双向链表可以向前或者向后查找 2)单向链表不能自我删除,需要靠辅助结点,而双向链表,则可以自我删除,所以前面我们单链表删除时结点,总是找到temp的下一个结 阅读全文
posted @ 2022-09-18 17:14 南昌拌粉的成长 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 插入节点 1)、头插法 package main import "fmt" type Node struct { data int next *Node } func Shownode(p *Node){ //遍历 for p != nil{ fmt.Println(*p) p=p.next //移 阅读全文
posted @ 2022-09-18 16:44 南昌拌粉的成长 阅读(17) 评论(0) 推荐(0) 编辑
摘要: 1. 队列的应用场景 2. 队列的介绍 1)队列是一个有序列表,可以用数组或是链表来实现。 2)遵循先入先出的原则。即:先存入队列的数据,要先取出。后存入的要后取出。 示意图:(使用数组模拟队列示意图) 3.数组模拟队列 1)队列本身是有序列表,若使用数组的结构来存储队列的数据,则队列数组声明如下, 阅读全文
posted @ 2022-09-18 15:49 南昌拌粉的成长 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 最简单案例 package main import "fmt" type NodeList struct { data int next *NodeList } func ShowNode(node *NodeList) { for node != nil { //fmt.Printf("type 阅读全文
posted @ 2022-09-18 02:44 南昌拌粉的成长 阅读(20) 评论(0) 推荐(0) 编辑