链表
文章平均质量分 78
zhangyi_zy
这个作者很懒,什么都没留下…
展开
-
【C语言】c语言实现简单的链表(续)
本篇文章的代码是在上一篇代码的基础上,实现了链表的合并;实现了约瑟夫环;并且判断两条链表是否有交点等功能;检查链表是否为环,若是环又如何去计算环的长度以及查找环的入口;查找环的入口思路如图示:要实现的接口如下:#ifndef _SLIST_H__#define _SLIST_H__#include #include #include t原创 2017-03-10 10:05:47 · 340 阅读 · 0 评论 -
【C语言】C语言实现简单的链表
链表是一种线性表,但是并不是顺序存储,而是每个结点存储着下一个结点的地址,把存储数据元素的数据串联起来。原创 2017-03-09 22:04:04 · 365 阅读 · 0 评论 -
链表翻转(每K个结点进行一次逆置)
链表翻转给出一个链表和一个数k,比如链表1→2→3→4→5→6若k=2,翻转后2→1→4→3→6→5,若k=3,翻转后3→2→1→6→5→4,若k=4,翻转后4→3→2→1→5→6,用程序实现Node* RotateList(Node* list, size_t k). 我的思路是把每K个结点的逆置成的链表都当成一条新的链表,所以共有m=size/k条,然后再用上一条链表的原创 2017-07-24 13:01:01 · 1944 阅读 · 0 评论 -
求差集:已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集
已知集合A和B的元素分别用不含头结点的单链表存储,函数difference()用于求解集合A与B的差集,并将结果保存在集合A的单链表中。例如,若集合A={5,10,20,15,25,30},集合B={5,15,35,25},完成计算后A={10,20,30}。思路:首先明白差集的定义:所有属于A但不属于B的元素就是A的差集。所以这道题就是要找到A和B相同的元素并在A集合中删除即可。原创 2017-07-26 18:54:09 · 731 阅读 · 0 评论 -
判断一颗二叉树是是否是另一颗树的子树
例如treeB是treeA的子树,那么如何判断B是A的子树呢?要做这道题,可以将过程分为两步:第一步,找到两棵树根节点有相同的值,只有根节点的值相同才有往下判断的必要;第二步,找到相同根节点之后,再判断根节点的子树是否包含B树一样的结构。注意:空树不是任何树的子树详细分析第一步:首先要找与B树根节点值相同的结点,那么就从A树的根节点2开始遍历,如果A树根结点的值与B树相同,原创 2017-07-27 16:54:10 · 665 阅读 · 0 评论