摘要:
快速排序,纵观各类技术博客,关于快速排序,方法很多,各有千秋,但是,我拙见: 快速排序需要用递归,二分,分治的思想去操作,那么在这其中,就需要找一个基准,通过这个基准,把序列分开,达到可以用分治的思想取解决的目的; 能看到这里的,基本对快排都有个了解,不多说,盗了几个图看看,更方便记忆: ... 阅读全文
摘要:
想准备将所有的排序算法都总结出来,方便你查阅,也方便我复习和记忆,下面来说桶排序: 首先必须申明,桶排序和计数排序完全不同,不可混为一谈:(这里实例用单链表来操作) 还是老方法,看文字就是烦,直接上图,图文结合,永远都是王道: 1.假设:桶待排序列:{ 49, 38, 35, 97, 76, 7... 阅读全文
摘要:
类中的赋值操作和构造容易使人混淆,加以区分,引以为戒: 我用string类为例: string str1 = "hello world"; string str2 = str1; 有“=”不一定就是赋值操作,其实,上边的string str2 = str1,就不是赋值操作,它等效下边的语句: ... 阅读全文
摘要:
标准C++类std::string的内存共享,值得体会: 详见大牛:https://www.douban.com/group/topic/19621165/ 顾名思义,内存共享,就是两个乃至更多的对象,共同使用一块内存; 1.关于string的内存共享问题: 通常,string类中必有一个私有... 阅读全文
摘要:
说是原创,差不多算是转载了,我也是看了好多大牛的写法,大牛的建议,自己加一总结,形成代码: 实现一个简洁版的string类,我觉得,下面的也够了:另外需要参见另外的写法: http://blog.csdn.net/li_ning_/article/details/51282704 #pr... 阅读全文
摘要:
这个问题困扰我好久,终于完美区分: 看一个例子: main(){ int n=10; int a[n]; scanf("%d",&a[2]); printf("%d",a[2]); system("pause");}以上例子中,n明显是一个整型的变量,虽然付了值,但... 阅读全文
摘要:
没什么说的,常规思路: 函数原型:const char* StrStr(const char *str1, const char *str2) 方法一: str1:源字符串; str2:需要查找的目的字符串; #pragma once#includeconst char* My_strstr(c... 阅读全文
摘要:
前面说了用两个栈实现一个队列的算法,现在在写一个反过来的算法: 1.算法描述: 栈的特点就是先进后出,而队列的特点就是先进先出,基于两者的特点,有了此算法: 先看一张图:都喜欢图,图也能直接表达题的意思和本人的意思: 图中已经说的很清楚了,多余的方法暂且不说,按以上的图和思路,我给出以下代码... 阅读全文
摘要:
看到这个题目,你第一感觉就是完了,不懂啊,没关系,我们看看什么叫二叉树的镜像,一张图说明: 二叉树图还是借用上一篇博客的图: 话说二叉树的镜像,用两个图足以说明,我们说图一是图二的一个镜像,也可以说图二的二叉树是图一二叉树的一个镜像 看见图中的镜子了没,想想镜子起的作用,镜像就是这么来的 两... 阅读全文
摘要:
1.题目描述: 将一个二叉搜索树转换成一个双向链表; 2.二叉搜索树,直接看图: 如图就是一个二叉搜索树的模型,也就是转换函数的入口数据,也是下边函数中即将用到的例子,既然有输入,肯定有输出,先面在看一张图(第三条): 3.输入输出模型: 右边就是最终的输出结果,5后边是空,下边来分析一... 阅读全文