![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
文章平均质量分 92
__Talon__
这个作者很懒,什么都没留下…
展开
-
二叉树的遍历(前、中、后、层次)递归与非递归实现
二叉树的遍历前序递归:void PreOrder(BTNode *root){ if(root!=NULL){ cout<<root->data; PreOrder( root->lchild ); PreOrder( root->rchild ); }}非递归:利用栈帮助我们实现,遍历左子树,直到为空,也就是这棵树的最左边,然后访问右子树,访问完毕就回到上一层。void PreOrder_(BTNode *root)原创 2020-12-18 17:12:05 · 160 阅读 · 1 评论 -
链表反转(牛客)
题目描叙:输入一个链表,反转链表后,输出新链表的表头。示例1输入复制{1,2,3}返回值复制{3,2,1}solve1:非递归public class Solution { public ListNode ReverseList(ListNode head) { ListNode pre=null; //初始化 while(head!=null){ ListNode next=head.next; //保存下一个要移动的节点原创 2020-11-30 00:02:30 · 281 阅读 · 0 评论 -
双链表的简单实现(输入10个数字,输出从小到大、从大到小的序列,使用双向链表实现)
链表的简单实现(单向、双向)题目描叙:输入10个数字,输出从小到大、从大到小的序列,使用双向链表实现。思路:用双向链表实现难点是在于插入的数据为最大或最小值时,应该添加为头节点或尾节点。从小到大,从大到小遍及分别是从头节点开始、从尾节点开始。c语言代码:#include <stdio.h>#include<stdlib.h>typedef struct listNode{ struct listNode *prev; struct listNode *ne原创 2020-11-23 11:48:52 · 1091 阅读 · 0 评论