![](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 · 278 阅读 · 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 · 1087 阅读 · 0 评论