![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 79
细雪微凉
人间忽晚 山河已秋
展开
-
Linux内核中经典链表 list_head 常见使用方法解析
做内核驱动开发经常会使用linux内核最经典的双向链表 list_head, 以及它的拓展接口(或者宏定义): list_add , list_add_tail, list_del , list_entry ,list_for_each , list_for_each_entry … 每次看到这些接口,感觉都很像,今天专门研究了一下内核,对它们做一些总结,希望为后续开发提供方便。 首先找到list...转载 2020-03-30 11:03:18 · 652 阅读 · 0 评论 -
哈希表 链地址法
/*************************************************** 目的:将一堆整数存入hash表 键值:本身 哈希函数的构造方法:除留余数法 散列冲突方法:链地址法 ***************************************************/ #include <stdio.h> #include <stdlib...原创 2019-03-28 16:37:25 · 4266 阅读 · 0 评论 -
郝斌数据结构7排序之冒泡选择
一. 冒泡排序 比较相邻的元素。如果第一个比第二个大,就交换他们两个 对每一对相邻元素作同样的工作。第一次后,最后的元素是最大的数 针对所有的元素重复以上的步骤,除了最后一个 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较 二. 选择排序 首先通过n-1 次比较,从n个数中找出最小的,将它与第1个数交换。第一次结束,最小的数放在第1个 再通过n-2次比较,从剩余的n-1个...原创 2019-03-20 19:24:45 · 167 阅读 · 0 评论 -
郝斌数据结构6树
1 树的定义 专业定义:有且只有一个称为根的节点;有若干个互不相交的子树,这些树本身也是一棵树 通俗的定义:树是由节点和边组成;每个节点只有一个父节点但可以有多个子节点;但有一个节点没有父节点,它叫做根节点 2 树的专业术语 节点、父节点、子节点、子孙、堂兄弟 深度:从根节点到最底层节点的层数称之为深度,根节点是第一层 叶子节点:没有子节点的节点 非终端节点:实际就是非叶子节点 度:子节点的个数 ...原创 2019-03-20 18:46:33 · 180 阅读 · 0 评论 -
郝斌数据结构5递归之汉诺塔
1 汉诺塔 汉诺塔问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。 可以从百度上搜汉诺塔的小游戏玩一下,就明白了! 或许下面的解释会好理解一些: 现在要求庙里的老和尚把这64个盘子...原创 2019-03-20 17:46:51 · 176 阅读 · 0 评论 -
郝斌数据结构4递归
1 定义 一个函数自己直接或间接调用自己 2 举例 #include <stdio.h> #include <stdlib.h> void f(int n) { if (1 == n) { printf("哈哈\n"); } else { f(n-1); } } int main(void) { f(7); return 0; } 运行结果 ...原创 2019-03-20 14:49:38 · 191 阅读 · 0 评论 -
郝斌数据结构3队列
一. 队列 定义: 一种可以实现“先进先出”的存储结构 栈只允许在一端进行操作,而队列在两端操作,队尾进行存入,队头进行删除 静态队列(连续队列) 动态队列(链式队列) 静态队列通常必须是循环队列 静态循环队列要搞清楚的问题: A. 静态队列为什么必须是循环队列 防止浪费空间 B. 循环队列需要几个参数来确定 需要2个参数来确定: 队头指针front和队尾指针rear。队.........原创 2019-03-19 20:07:37 · 198 阅读 · 0 评论 -
郝斌数据结构2栈
一. 连续栈 栈的定义: 一种可以实现“先进后出”的存储结构 栈类似于箱子,只允许在一端进行操作 栈分类: 静态栈(连续栈) 动态栈(链式栈) 操作: 入栈 出栈 连续栈程序: #include <stdio.h> #include <stdlib.h> #define N 64 typedef int datatype; typedef struct ...原创 2019-03-19 19:59:27 · 117 阅读 · 0 评论 -
郝斌数据结构1线性表
一. 连续存储–>数组 数组的增删改查程序 #include <stdio.h> #include <stdlib.h> #define N 100 typedef int datatype; // typedef有分号!! //这样如果想定义char型数组,就把int改成char就行了 typedef struct { datatype data[N]; i...原创 2019-03-19 19:53:09 · 292 阅读 · 0 评论