摘要: 常用C关于字符串操作的库函数实现: 阅读全文
posted @ 2019-02-18 18:25 evenleo 阅读(264) 评论(0) 推荐(0) 编辑
摘要: 题目:给定一个字符串,求它的最长回文子串 阅读全文
posted @ 2019-02-18 10:16 evenleo 阅读(546) 评论(0) 推荐(0) 编辑
摘要: C风格的强制类型转换很简单,均用 Type b = (Type)a 形式转换。C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用,如下表: 1、const_cast 去掉类型的const或volatile属性 2、static_cast 类似C风格的强制转换,进行无条件转换,静态类型转 阅读全文
posted @ 2019-02-15 10:51 evenleo 阅读(27127) 评论(0) 推荐(5) 编辑
摘要: 知乎高赞分析 作者:逍遥行 链接:https://www.zhihu.com/question/21923021/answer/37475572来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 角色: 甲:abbaabbaaba 乙:abbaaba 乙对甲说:「帮忙找一 阅读全文
posted @ 2019-02-14 16:05 evenleo 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 牛客网题目 https://www.nowcoder.com/practice/445c44d982d04483b04a54f298796288?tpId=13&tqId=11213&tPage=3&rp=3&ru=/ta/coding-interviews&qru=/ta/coding-inter 阅读全文
posted @ 2019-02-14 15:48 evenleo 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 完全二叉树是效率很高的数据结构,堆是一种完全二叉树或者近似完全二叉树,所以效率同样极高。目前十分常用的排序算法、Dijkstra算法、Prim算法等都要用堆才能优化。 堆排序是一种选择排序算法,与原序列的初始排列次序无关,即最好、最坏和一般情况排序的时间复杂度不变,均为O(nlgn)。而且,堆排序只 阅读全文
posted @ 2018-03-10 20:32 evenleo 阅读(915) 评论(0) 推荐(1) 编辑
摘要: 栈的基本概念 栈的定义:栈是一种只能在一端进行插入或删除操作的线性表。其中允许进行插入或删除的一端称为栈顶(top)。栈顶是由一个称为栈顶指针的位置指示器(其实就是一个变量,对于顺序栈,就是数组索引,对于链式栈,就是节点地址的指针)来指示。栈的插入和删除操作一般称为入栈和出栈。 栈的特点:先进后出( 阅读全文
posted @ 2018-03-04 23:26 evenleo 阅读(1310) 评论(0) 推荐(0) 编辑
摘要: 题目描述: 输入两个单调递增的链表,输出两个链表合成后的链表,要求合成后的链表满足单调不减规则。 1、分析 已知输入的两个链表递增有序,要使输出的链表依然递增有序,可以依次从输入的两个链表中挑选最小的元素插入到输出的链表尾部,便可实现输出链表递增有序。 2、数据结构定义 3、递归实现 4、非递归实现 阅读全文
posted @ 2018-03-04 20:29 evenleo 阅读(2029) 评论(1) 推荐(2) 编辑
摘要: 二叉树是一种非线性结构,遍历二叉树几乎都是通过递归或者用栈辅助实现非递归的遍历。二叉树作为存储结构时,一个节点只能获取节点的左孩子和右孩子,不能直接得到节点的任一遍历序列的前驱或者后继。为了保存这种在遍历中需要的信息,我们利用二叉树中指向左右子树的空指针来存放节点的前驱或后继信息。 也就是说,线索二 阅读全文
posted @ 2018-03-01 14:31 evenleo 阅读(11797) 评论(0) 推荐(1) 编辑
摘要: 写这篇博文的原因 C语言有三个重要部分:流程控制、函数、指针。对于指针,单单了解它的简单运用是远远不够的,最重要的是学习链表。所以这篇文章通过用C语言实现链表的一些基本操作和总结,希望对C语言的指针有更新的理解和认识。 单链表的定义 单链表是通过一组任意的存储单元来存储线性表中的数据元素,这些存储单 阅读全文
posted @ 2018-02-26 18:14 evenleo 阅读(720) 评论(0) 推荐(0) 编辑