Linux C

陈黑客介绍libpcap

这篇摘抄自背后同事有福大神,作为黑客的他他已经成功在乌云漏洞平台提交了多个漏洞,想膜拜的可以传送到:youfu.xyz,除此之外在公司做了快4年底层的他,libpcap应该是手到擒来,我觉得这篇写的比较有特色,不是...

层序遍历

本来以为四种遍历方法用递归都很容易解决,谁知看上去最直观的层序遍历不是太容易,参考了下通过链式队列的实现算法,完成了这项遍历 首先将根结点数据输出,并将根结点入队列,然后前端结点出队列,并输出该结点...

二叉树遍历

二叉树的遍历方式有多种,名字天花乱坠,没必要去死记,不管是前序,后序等等,关键以双亲结点为中心,所谓前序还是后序实质上就是一个双亲结点和左右子结点为一个小的集体中双亲结点是先遍历还是后遍历,然后许...

普通的树有很多种表示方法 双亲表示法,data是数据域,存储结点的数据信息,而parent是指针域,存储该结点的双亲在数组中的下标 树的双亲表示法数据结构: typedef int TElemType; typedef struct PTNode {  ...

双向链表

单链表总是从头到尾来寻找结点,有了next指针,需要查找下一个结点的时间复杂度为O(1),但是如果要查找的是上一个结点的话,最坏的时间复杂度是O(n),原因是因为每次都必须要从头开始遍历查找 双向链表是在单...

malloc

在内存的动态存储区中分配一定长度的连续空间,返回一个指向所分配的连续存储空间的起始地址的指针;动态分配是在程序执行的过程中动态地分配或者回收存储空间的分配内存的方法;动态内存分配不像数组等静态内存...

查询驱动支持的网卡类型

首先查询该机器的网卡类型,通过命令可以查看到各种类型网卡 # lspci | grep Net02:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)02:00.1 SCSI storage controller: In...

串的存储结构

串是由零个或者多个字符组成的有序序列,又叫字符串 串的逻辑结构和线性表相似,但是串针对的是字符集,也就是串中的元素都是字符,更关注的是查找子串的位置,得到,替换指定位置的子串,线性表更关注的是单个字...

队列链式存储结构

队列的链式存储结构其实就是线性表的单链表,只不过它只能尾进头出而已,为了方便,将队列头指针指向队列的头结点,队尾指针指向终端结点 空队列时,front和rear都指向头结点,此时已经有一个结点了,所以有一点...

循环队列

一晚上到处转弯,本来顺序队列说好的出队之后,所有元素都要相应移动的,这会又突然出来一个循环队列,看样子不是这规矩 队列如果后面满了,就再从头开始,也就是头尾相接的循环,这种头尾相接的顺序存储结构为循...

顺序队列出队列的特点

上篇草草了事以为OK,实际上根本没弄清楚FIFO的特点,那段程序输出的结果是从下标3开始的,也就是0,1,2三个元素给pop了之后,原封不动地将其他元素输出来,本以为自己做完了,其实一开始就错了 队列的入队只需...

队列顺序存储结构

公司的产品比较核心的地方用到了一个FIFO,虽然从没有去看看到底有多么复杂,但自己摸索下简单的队列还是可以滴,队列只允许在一端来进行插入操作,而在另一端来进行删除操作的线性表,也就是一种先进先出的线性...

栈链式存储结构

栈顶用来做插入和删除操作,而单链表有个头指针,并且栈顶指针也是必须的,所以将它们合二为一,将栈顶放在单链表的头部,由于有了栈顶在头部,单链表中比较常用的头节点也没什么意义了,因此一般来说链栈不需要...

栈顺序存储结构

栈是限定仅在表尾来进行插入和删除操作的线性表,能够插入和删除的一端称为栈顶,它是一个特殊的线性表,但也有前驱后继关系 由于限定了插入和删除的位置,始终只在栈顶来进行,因此栈底是固定的,最新进栈的元素...

处理简单单链表

果然是看代码容易,写起来麻烦,一个普通的链表处理,被一堆指针符号和结构体绕来绕去,写惯脚本语言再来研究这些真麻烦,勉强写完了,刚本来rand()给data赋值,结果编译通过了没问题以为完工,然后测试了一把,...

线性表链式存储结构

顺序存储结构最大的缺点就是在插入和删除时需要移动大量的元素耗费较多时间,原因是相邻的两元素的存储位置也是相邻关系,也就是在内存中的位置也是挨着的,中间没有空隙,当然就无法快速介入,删除后当中会留下...

浙ICP备16024533号

浙公网安备 33010802007459号