CCUT编程能力测试
MaLk3r
这个作者很懒,什么都没留下…
展开
-
C++单链表递归遍历操作
类型分析类型分析要分析的是单链表的每个节点存在的状况 * 空节点 data next NULL NULL* 非空节点 data next 例如1 address单链表中一共就只有这么两种节点。算法夏吉尔分析如果让你用循环让你用循环的话,你会怎样写呢?void display(node ...原创 2018-04-07 22:29:54 · 6252 阅读 · 0 评论 -
C++单链表递归计数
计数的原理因为计数原理要牵扯到实际栈的应用,不利于理解,所以,优先先贴出代码,然后用后面的例子来进行解释。计算单链表||双链表节点个数无注释的代码int calculate_node(node *head){ if(!head) return 0; return calculate_node(head->next)+1;}有注释的代码int calculate_no原创 2018-04-09 13:16:12 · 891 阅读 · 0 评论 -
C++递归单链表插入
插入的方法头插法语言描述在单链表的头结点之前插入一个新的节点,使之成为一个从新节点开始的完整链表。 * 所以这个算法的时间复杂度为O1代码实现int headInsert(node *&/*特别强调这里有个引用*/head,int data) { node *temp = head;//这是存储了原有链表的头结点 head = new node;//生成了新链表的头结点,并且叫做h原创 2018-04-09 19:03:21 · 1459 阅读 · 1 评论 -
C++单链表删除当前节点
删除方式首先要说明的是,如果只知道删除节点的地址的话,想删除这个节点并且保持单链表的连续性,那么,引用(&)是我知道的唯一办法。 如果知道的是删除节点的前一个节点,那么你之前节点类型就会有多重分类:删除节点为头结点当前节点和下一个节点都需要删除删除节点为尾节点多个尾节点连续删除next指向的节点void delete_next(node *head){ ...原创 2018-04-09 22:25:28 · 14241 阅读 · 0 评论 -
CCUT编程能力测试---前言
着实是扎心呀,刚刚用Markdown在本地写完的博客,就因为手滑把电脑重装了,以至于原来写的博客都丢失了。关于数据结构对基本的数据结构(LLL,CLL,DLL,BST)的操作,常见的有查找(search),插入(insert),删除(Delete),其他的操作,一般都是基于这几种操作的排列组合。来实现不同的组合。关于递归其实对递归的要求非常的基础,因为不允许使用循环(loo...原创 2018-04-06 17:42:58 · 858 阅读 · 2 评论