![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C链表
艾听先生
假程序员一枚
展开
-
从认识到会编写链表的简单操作
#include<stdio.h> #include<stdlib.h> #include<assert.h> #define DateType int //数据的类型定义(方便以后修改)typedef struct Node { DateType data; struct Node* next; }Node, *pNode;void InitList(pNode *head)原创 2017-09-28 16:31:05 · 157 阅读 · 0 评论 -
复杂链表的复制
复制复杂链表,一个链表的每一个节点有一个指向nest指针指向下一个节点,还有一个random指针指向这个链表中的一个随机节点或者NULL,现在要求实现复制这个链表,返回复制##后的新链表函数原型:pNode CapyComplexLink(pNode2 pHead)*原链表如下://节点类型 typedef struct Node2 { DateType date; struct原创 2017-10-19 14:28:03 · 180 阅读 · 0 评论 -
链表操作面试题
#include<stdio.h> #include<stdlib.h> #include<assert.h> #define DateType int typedef struct Node { DateType data; struct Node* next; }Node, *pNode; void PrintList(pNode head)//打印链表 { pNo原创 2017-10-11 22:44:08 · 245 阅读 · 0 评论 -
模拟实现 ListIterator类
#include using namespace std; template class T> struct ListNode { ListNode(const T& data = T()) : _pNext(NULL) , _pPre(NULL) , _data(data) {} ListNode* _pNext;// 模板类下类型表示为:Li原创 2017-11-25 16:36:11 · 203 阅读 · 0 评论 -
逆置单链表
#include <stdio.h> #include <stdlib.h> #define M 20 struct num { int a; struct num *next; }; struct num *reverse(struct num *head, struct num *lhead, struct num *nhead) { stru...原创 2018-07-25 13:48:50 · 144 阅读 · 0 评论 -
剑指offer: 二叉树的下一个结点
题目描述: 给定一个二叉树和其中的一个结点,请找出中序遍历顺序的下一个结点并且返回。注意,树中的结点不仅包含左右子结点,同时包含指向父结点的指针。 思路分析: 结合图(中序遍历) 结合图,我们可发现分成两大类: 1、有右子树的,那么下个结点就是右子树最左边的点;(eg:D,B,E,A,C,G) 2、没有右子树的,也可以分成两类, a)是父节点左孩子(eg:N,I,L...原创 2018-08-02 17:40:29 · 140 阅读 · 0 评论