数据结构
记录各种数据结构
kayshi2018
这个作者很懒,什么都没留下…
展开
-
C语言中哈希表的使用(二)
1:利用开源GitHub有针对hash实现的开源代码,如果不想自己一步步的实现hash的各种操作,可以直接包含开源代码中的头文件uthash.h(内部通过各种宏来实现), 利用里面的接口,来实现hash操作。可以节约大量的时间,并减少自己的代码量。有些时候需要自己进行简易的封装。2:结构体typedef struct user_t { int id; int cookie; UT_hash_handle hh; }user_t;结构体要自己定义一下id 表示 key原创 2021-08-19 16:33:08 · 690 阅读 · 0 评论 -
Linux中的list使用
1:使用说明在linux下有一种常用的链表结构。当你需要很多相同结构体,并想把它们连接在一起。方便你增减或者逐个访问的时候,可以用这种结构。当然你也可以直接用链表指针,那么你就必须自己写,初始化链表,添加和删除,循环访问等函数。如果直接用list,就是直接把struct list_head放在你的结构体里。然后包含一个头文件list.h。就可以直接使用现成的链表操作的各种函数(创建, 增加, 删除和遍历)。z2:常用函数2.1 list_headstruct list_head { stru原创 2020-11-23 16:20:47 · 6445 阅读 · 0 评论 -
双向循环链表示例
双向循环链表的各种操作相对于单链表多了一个指针prev指向全面的节点#include<stdio.h>#include<stdlib.h>typedef struct student{ int socre; struct student *prev; struct student *next;} LinkList;...原创 2020-04-16 14:30:06 · 176 阅读 · 0 评论 -
单链表
1 #include<stdio.h> 2 #include<stdlib.h> 3 /*定义链表结构体*/ 4 typedef struct student{ 5 int socre; 6 struct student *next; 7 } LinkList; 8 /*创建n个节点的链表,实际有n+1个元素,...原创 2019-09-18 18:38:39 · 309 阅读 · 0 评论 -
C语言中哈希表的使用(一)
1:哈希表哈希表是链表的一个变种。可以这么理解,一个数组放了n个指针,每个指针指向一个链表。存储的数据以key:value的形式保存。 通过key的经过一些规则可以计算出存在数组的那个位置。再遍历这个位置的链表来value的值。2:示例/******************************************************************************* * @file hash.c * @verison v1.0.0原创 2021-08-11 16:29:41 · 2998 阅读 · 0 评论