![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构与算法
文章平均质量分 64
望年阁
海内存知己,天涯若比邻
展开
-
链表反向实现
链表的实现很简单,但有一个注意事项,在插入链表时,如果定义了一个Node* head,那么Insert函数的形参应该为(Node**),否则无法对head进行修改,就算我把head定义为全局变量也是如此。接着我又学习了链表反转,我学习了两种方法,一种是迭代型,另一种是递归型,在我动手实现这两种方式后,我惊讶的发现:迭代型必须得用一个二级指针才能正确的反转链表,但是递归型的参数仅需要一个一级指针就可以实现,因此我对此很疑惑,有点打破我之前对于C语言指针和内存的理解了。原创 2024-07-25 20:01:28 · 305 阅读 · 0 评论 -
双向链表C语言实现
双向链表与单链表的区别在于多了一个指向上一个节点的指针prevint data;}Node;原创 2024-07-25 19:50:07 · 246 阅读 · 0 评论 -
栈和相关算法
栈是一种抽象数据结构(ADT),其主要特性是可以用数组、链表实现,本质就是对一个列表进行后进先出的操作栈的操作主要有push入栈、pop出栈、isEmpty判空、getTop获取栈顶元素。原创 2024-07-25 19:49:21 · 322 阅读 · 0 评论 -
遍历二叉树
前言二叉树的遍历主要有深度优先遍历和广度优先遍历,深度优先遍历是优先访问一个子树上的所有节点,访问的属性是竖向的,而广度优先遍历则是优先访问同一层的所有节点,访问属性是横向的。原创 2024-07-25 19:41:46 · 247 阅读 · 0 评论