09 2018 档案

摘要:竞争条件指多个线程或者进程在读写一个共享数据时结果依赖于它们执行的相对时间的情形。 竞争条件指多个线程或者进程在读写一个共享数据时结果依赖于它们执行的相对时间的情形。 竞争条件发生在当多个进程或者线程在读写数据时,其最终的的结果依赖于多个进程的指令执行顺序。 例如:考虑下面的例子 假设两个进程P1和 阅读全文
posted @ 2018-09-30 17:44 cs_wu 阅读(1005) 评论(0) 推荐(0) 编辑
摘要:空悬指针是这样一种指针:指针正常初始化,曾指向过一个正常的对象,但是对象销毁了,该指针未置空,就成了悬空指针。 野指针是这样一种指针:未初始化的指针,其指针内容为一个垃圾数。 (一般我们定义一个指针时会初始化为NULL或者直接指向所要指向的变量地址,但是如果我们没有指向NULL或者变量地址就对指针进 阅读全文
posted @ 2018-09-30 17:03 cs_wu 阅读(2575) 评论(0) 推荐(0) 编辑
摘要:C++基础书籍《C++ primer》《深度探索C++对象模型》《Effective C++》《more effective C++》《STL源码剖析》 多线程编程书籍 《C++并发编程实战》 Linux :《鸟哥的Linux私房菜》《UNIX/linux系统编程》 网络编程:《C++网络编程》(卷 阅读全文
posted @ 2018-09-30 16:12 cs_wu 阅读(2308) 评论(0) 推荐(0) 编辑
摘要:从一个经典的例子开始:一个打印“Hello World.”的程序。一个非常简单的在单线程中运行的Hello World程序如下所示,当我们谈到多线程时,它可以作为一个基准。 这个程序所做的就是将“Hello World”写进标准输出流。让我们将它与下面清单所示的简单的“Hello, Concurre 阅读全文
posted @ 2018-09-30 16:01 cs_wu 阅读(765) 评论(0) 推荐(0) 编辑
摘要:1. string转const char* string s ="abc"; const char* c_s = s.c_str(); 2. const char*转string 直接赋值即可 const char* c_s ="abc"; string s(c_s); 3. string转char 阅读全文
posted @ 2018-09-30 15:42 cs_wu 阅读(35852) 评论(1) 推荐(2) 编辑
摘要:Boost库是一个可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,是不折不扣的“准”标准库。Boost由于其对跨平台的强调,对标准C++的强调,与编 阅读全文
posted @ 2018-09-30 15:41 cs_wu 阅读(627) 评论(0) 推荐(0) 编辑
摘要:一个程序就是一个进程,而一个程序中的多个任务则被称为线程。进程是表示资源分配的基本单位,又是调度运行的基本单位。线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。 进程和线程的关系(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和 阅读全文
posted @ 2018-09-30 15:24 cs_wu 阅读(391) 评论(0) 推荐(0) 编辑
摘要:首先是Ctrl+Alt+T 打开终端,然后在终端中输入指令(更新资源) 接着是对软件进行升级。(这是一个漫长的过程,需要下载资源) 接着安装系统更新,如果不希望升级系统版本,完成这步就可以了。 更新完系统后需要重启系统才能看到最新的版本 检测是否有ubuntu新版本。 阅读全文
posted @ 2018-09-30 14:56 cs_wu 阅读(397) 评论(0) 推荐(0) 编辑
摘要:C++11一个最重要的新特性就是对多线程的支持。 C++标准第一次承认多线程在语言中的存在,并在标准库中为多线程 提供组件。意味着使用C++编写与平台无关的多线程程序成为可能,也为可能移植性提供了强有力的保证。与此同时,程序员为提高应用的性能,对并发的关注也是与日剧增,特别是在多线程编程方面。 何谓 阅读全文
posted @ 2018-09-30 12:04 cs_wu 阅读(330) 评论(0) 推荐(1) 编辑
摘要:IPv4套接字地址结构通常也称为“网际套接字地址结构”,它以sockaddr_in命名,定义在<netinet/in.h>头文件中。 对套接字地址结构做几点一般性的说明。 1.长度字段sin_len是为了增加对OSI协议的支持而随4.3BSD-Reno添加的。在此之前,第一个成员是sin_famil 阅读全文
posted @ 2018-09-30 00:15 cs_wu 阅读(1414) 评论(0) 推荐(0) 编辑
摘要:首先对目标文件进行编译 例如: 这时会生成一个文件test,然后我们就可以对test进行调试了 示例: 好了以后是设定断点 示例: 也可以用另外一种方法:break 要设置断点的行号 设置好断点之后输入指令 然后就可以通过指令 step(或者s)单步调试了 跳出循环可以用: 要显示某一个值时可以用 阅读全文
posted @ 2018-09-29 23:28 cs_wu 阅读(566) 评论(0) 推荐(0) 编辑
摘要:epoll的简介: epoll是Linux内核为处理大批量文件描述符而作了改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著提高程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。另一点原因就是获取事件的时候,它无须遍历整个被侦听的描述符集,只要遍历那些 阅读全文
posted @ 2018-09-29 23:11 cs_wu 阅读(949) 评论(0) 推荐(0) 编辑
摘要:服务端代码server.c 客户端代码client.c 截图如下:编译好后首先是启动服务端(来监听),然后再启动客户端 阅读全文
posted @ 2018-09-29 21:55 cs_wu 阅读(5294) 评论(0) 推荐(0) 编辑
摘要:单客户端和服务端的通信(基于UDP) 代码 服务端代码socket3.c 客户端代码socket4.c 运行结果截图如下: 5、总结 服务端:socket->bind->(sendto 、revcfrom) 客户端:socket->(sendto 、revcfrom) upd不是面相连接的,这个是和 阅读全文
posted @ 2018-09-29 21:42 cs_wu 阅读(1970) 评论(0) 推荐(0) 编辑
摘要:一、关于socket通信 服务器端工作流程: 调用 socket() 函数创建套接字 用 bind() 函数将创建的套接字与服务端IP地址绑定 调用listen()函数监听socket() 函数创建的套接字,等待客户端连接 当客户端请求到来之后 调用 accept()函数接受连接请求,返回一个对应于 阅读全文
posted @ 2018-09-29 21:32 cs_wu 阅读(21816) 评论(0) 推荐(1) 编辑
摘要:作者:pansz链接:https://www.zhihu.com/question/19901763/answer/13299543来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 这么解释问题吧: 1。单进程单线程:一个人在一个桌子上吃菜。2。单进程多线程:多个人在同 阅读全文
posted @ 2018-09-29 17:10 cs_wu 阅读(2082) 评论(0) 推荐(2) 编辑
摘要:把一组数据结构和处理它们的方法组成对象(object),把相同行为的对象归纳为类(class),通过类的封装(encapsulation)隐藏内部细节,通过继承(inheritance)实现类的泛化(generation)/特化(specialization),通过多态(polymorphism)实 阅读全文
posted @ 2018-09-29 17:08 cs_wu 阅读(455) 评论(0) 推荐(0) 编辑
摘要:现在,一般来说,我们可以实现malloc使得对malloc的调用将会被映射到系统调用sbrk上,sbrk(n)将会移动程序中断的位置-也就是程序的data段的最后。-偏移n个字节,这意味着,n个字节的内存就被分配给了当前程序 我们最终的实现大概看起来会像这样 然而,调用一次sbrk是非常昂贵的。因此 阅读全文
posted @ 2018-09-29 16:49 cs_wu 阅读(660) 评论(0) 推荐(0) 编辑
摘要:这是我去腾讯面试的时候遇到的一个问题——malloc()是如何申请内存的? c++ 内存获取和释放 new/delete,new[]/delete[] c 内存获取和释放 malloc/free, calloc/realloc 上述8个函数/操作符是c/c++语言里常用来做动态内存的申请和释放的,要 阅读全文
posted @ 2018-09-29 16:45 cs_wu 阅读(661) 评论(0) 推荐(0) 编辑
摘要:这里主要用的是#include <QPainter>里面的paintEvent 效果图如下: 阅读全文
posted @ 2018-09-29 11:54 cs_wu 阅读(841) 评论(0) 推荐(0) 编辑
摘要:QApplication管理GUI程序的控制流和主要设置。 QApplication包含由窗口系统和其他来源处理过和发送过的主事件循环。它也处理应用程序的初始化和收尾工作,并提供对话管理。QApplication可以对系统和应用的大部分设置项进行设置。 对于用Qt写的任何一个GUI应用,不管这个应用 阅读全文
posted @ 2018-09-29 11:13 cs_wu 阅读(5578) 评论(0) 推荐(0) 编辑
摘要:QFrame与QWidget的区别: QFrame是基本控件的基类,QWidget是QFrame基类。 QWidget类是所有用户界面对象的基类。 Widget是用户界面的基本单元:它从窗口系统接收鼠标,键盘和其他事件,并在屏幕上绘制自己。 每个Widget都是矩形的,它们按照Z-order进行排序 阅读全文
posted @ 2018-09-29 11:09 cs_wu 阅读(33382) 评论(0) 推荐(0) 编辑
摘要:QWidget类是所有用户界面对象的基类。 Widget是用户界面的基本单元:它从窗口系统接收鼠标,键盘和其他事件,并在屏幕上绘制自己。 每个Widget都是矩形的,它们按照Z-order进行排序。 阅读全文
posted @ 2018-09-29 11:01 cs_wu 阅读(997) 评论(0) 推荐(0) 编辑
摘要:Qstring有一些方面跟C/C++中的string的使用,例如把一个字符串追加到另一个字符串中,也是用“+”。也有append函数等。 下面是是Qstring的一些常用的具体函数示例: Qt的QString类提供了很方便的对字符串操作的接口。 使某个字符填满字符串,也就是说字符串里的所有字符都有等 阅读全文
posted @ 2018-09-29 10:14 cs_wu 阅读(2035) 评论(0) 推荐(0) 编辑
摘要:QPoint 类代表一个坐标点,实现在 QtCore 共享库中。它可以认为是一个整型的横坐标和一个整型的纵坐标的组合。 构造 QPoint 类支持以下两种构造方式: 属性 通过以下成员函数可得到 QPoint 对象中的横纵坐标的引用 通过以下的成员函数可以设置 QPoint 对象中的横纵坐标: 下面 阅读全文
posted @ 2018-09-29 09:51 cs_wu 阅读(8321) 评论(0) 推荐(0) 编辑
摘要:struct sockaddr 这个结构体是linux的网络编程接口中用来表示IP地址的标准结构体,bind、connect等函数中都需要这个结构体,这个结构体是兼容IPV4和IPV6的。 在实际编程中这个结构体会被一个struct sockaddr_in所填充。 sockaddr 用于存储参与(I 阅读全文
posted @ 2018-09-28 23:51 cs_wu 阅读(2650) 评论(0) 推荐(1) 编辑
摘要:环境是linux,不过应该没什么影响,因为只用到了socket的基本用法,没有涉及pthread等。 分为服务器端和客户端,服务器端监听端口发来的请求,收到后向客户端发送一个Hello World,客户机负责发送消息并打印收到的Hello World. 服务器步骤:建立socket,绑定socket 阅读全文
posted @ 2018-09-28 10:32 cs_wu 阅读(15803) 评论(1) 推荐(0) 编辑
摘要:学习unp网络编程,树上的例子均存在#include“unp.h”,故需要对环境进行配置。 1.到资源页下载www.unpbook.com 2.解压并将unpv13e移动到相应的文件夹下 (因为我是在windows电脑装了虚拟机的,ubuntu也安装了VMware tools 所以我是直接在wind 阅读全文
posted @ 2018-09-28 10:05 cs_wu 阅读(757) 评论(0) 推荐(0) 编辑
摘要:本代码可直接使用 根据TCP/IP三次握手,实验时可使用两台电脑,或者打开两个终端模拟通信。 服务器端: 用户端: 阅读全文
posted @ 2018-09-28 09:58 cs_wu 阅读(8416) 评论(0) 推荐(1) 编辑
摘要:作者:July、youwang、yanxionglu。 时间:二零一一年三月二十六日本文之总结:教你如何迅速秒杀掉:99%的海量数据处理面试题。有任何问题,欢迎随时交流、指正。出处:http://blog.csdn.net/v_JULY_v。 第一部分、十道海量数据处理面试题 1、海量日志数据,提取 阅读全文
posted @ 2018-09-27 23:16 cs_wu 阅读(331) 评论(0) 推荐(0) 编辑
摘要:B+树是一个平衡的多叉树。B+树从根节点到叶子节点的搜索效率基本相当,不会出现大幅波动。 哈希索引采用一定的哈希算法,把键值换成新的哈希值,检索时不需要类似B+树那样从根节点逐级查找,只需一次哈希算法即可立刻定位到相应的位置。 两者的区别: 1.hash索引仅满足“=”、“IN”和“<=>”查询,不 阅读全文
posted @ 2018-09-27 16:19 cs_wu 阅读(1453) 评论(0) 推荐(0) 编辑
摘要:运行结果:从输出结果我们可以知道,对象地址是一样的,即这都是同一个对象 上述实现通过返回一个引用实现单例模式。如果返回的是指针而不是引用,用户可能会不小心删除此指针,因此上述实现比返回指针更安全。 问:在上面我们把拷贝构造函数和赋值操作符都声明为私有,为什么要声明为私有?仅仅把构造函数声明为私有不久 阅读全文
posted @ 2018-09-24 23:44 cs_wu 阅读(153) 评论(0) 推荐(0) 编辑
摘要:目录 1.迭代器的使用 为了提高C++编程的效率,STL中提供了许多容器,包括vector、list、map、set等。有些容器例如vector可以通过脚标索引的方式访问容器里面的数据,但是大部分的容器不能使用这种方式,例如list、map、set。STL中每种容器在实现的时候设计了一个内嵌的ite 阅读全文
posted @ 2018-09-24 22:44 cs_wu 阅读(1507) 评论(0) 推荐(0) 编辑
摘要:C++中静态成员变量要在类外部再定义或初始化,否则会产生错误。 为什么要在类的外部进行定义的原因: 1. 在类中,只是声明了静态变量,并没有定义。 2. 声明只是表明了变量的数据类型和属性,并不分配内存;定义则是需要分配内存的。 注意:如果在类里面这么写int a; 那么是既声明了变量,也定义了变量 阅读全文
posted @ 2018-09-24 16:04 cs_wu 阅读(5790) 评论(0) 推荐(1) 编辑
摘要:算法特点: (1)是稳定排序 (2)可用于链式存储结构 (3)移动记录次数较多,算法平均性能比直接插入排序差。当初始记录无序,n较大时,此算法不宜采用。 阅读全文
posted @ 2018-09-22 16:16 cs_wu 阅读(307) 评论(0) 推荐(0) 编辑
摘要:算法分析 (1)时间复杂度 从时间来看,排序的基本操作为:比教两个关键字的大小移动记录。 阅读全文
posted @ 2018-09-22 16:09 cs_wu 阅读(217) 评论(0) 推荐(0) 编辑
摘要:算法分析: (1)时间复杂度 从时间上比较,折半查找比顺序查找快,所以就平均性能来说,折半插入排序优于直接插入排序。 折半插入排序所需要的关键字比较次数与待排序序列的初始排列无关,仅依赖于记录的个数。不论初始序列情况如何,在插入第i个记录时,需要经过logi+1(向下取整+1)次比较,才能确定它插入 阅读全文
posted @ 2018-09-22 15:56 cs_wu 阅读(2896) 评论(0) 推荐(0) 编辑
摘要:快速排序具有最好的平均性能(average behavior),但最坏性能(worst case behavior)和插入排序 相同,也是O(n^2)。比如一个序列5,4,3,2,1,要排为1,2,3,4,5。按照快速排序方法,每次只会有一个数据进入正确顺序,不能把数据分成大小相当的两份,很明显,排 阅读全文
posted @ 2018-09-22 00:20 cs_wu 阅读(418) 评论(0) 推荐(0) 编辑
摘要:摘要:回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。 按照上面的说法,实现一个C 阅读全文
posted @ 2018-09-21 14:53 cs_wu 阅读(14406) 评论(1) 推荐(1) 编辑
摘要:一,概述 仿函数(functor),就是使一个类的使用看上去象一个函数。其实现就是类中实现一个operator(),这个类就有了类似函数的行为,就是一个仿函数类了。 有些功能的的代码,会在不同的成员函数中用到,想复用这些代码。 1)公共的函数,可以,这是一个解决方法,不过函数用到的一些变量,就可能成 阅读全文
posted @ 2018-09-21 14:40 cs_wu 阅读(287) 评论(0) 推荐(0) 编辑
摘要:题目描述 输入两个整数 n 和 m,从数列1,2,3.......n 中随意取几个数,使其和等于 m ,要求将其中所有的可能组合列出来 输入描述: 每个测试输入包含2个整数,n和m 输出描述: 按每个组合的字典序排列输出,每行输出一种组合 示例1 输入 5 5 输出 1 42 35 #include 阅读全文
posted @ 2018-09-19 14:58 cs_wu 阅读(434) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定一个有n个正整数的数组A和一个整数sum,求选择数组A中部分数字和为sum的方案数。当两种选取方案有一个数字的下标不一样,我们就认为是不同的组成方案。 输入描述: 输入为两行: 第一行为两个正整数n(1 ≤ n ≤ 1000),sum(1 ≤ sum ≤ 1000) 第二行为n个正整数 阅读全文
posted @ 2018-09-18 23:37 cs_wu 阅读(2724) 评论(0) 推荐(0) 编辑
摘要:题目描述 给定整数n和m, 将1到n的这n个整数按字典序排列之后, 求其中的第m个数。对于n=11, m=4, 按字典序排列依次为1, 10, 11, 2, 3, 4, 5, 6, 7, 8, 9, 因此第4个数是2. 对于n=200, m=25, 按字典序排列依次为1 10 100 101 102 阅读全文
posted @ 2018-09-17 17:12 cs_wu 阅读(3919) 评论(0) 推荐(1) 编辑
摘要:题目:请实现一个函数,输入一个整数,输出该数二进制表示中1的个数。例如,把9表示成二进制是1001,有2位是1.因此,如果输入9则函数输出2. 阅读全文
posted @ 2018-09-14 15:03 cs_wu 阅读(174) 评论(0) 推荐(0) 编辑
摘要:题目:给你一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1),每一段的长度记为k[0],k[1],...k[m].请问k[0]xk[1]x...xk[m]可能 的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18. 我们有 阅读全文
posted @ 2018-09-14 14:33 cs_wu 阅读(3346) 评论(0) 推荐(0) 编辑
摘要:题目:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。 这是一个可以用回溯法解决的经典题。首先,在矩阵中任选一个格子作为路径的起点。假 阅读全文
posted @ 2018-09-14 00:15 cs_wu 阅读(708) 评论(0) 推荐(0) 编辑
摘要:题目:给定一棵二叉树和其中一个节点,如何找出中序遍历序列的下一个节点?树中的节点除了有两个分别指向左、右节点的指针,还有一个节点指向父节点的指针。 中序遍历序列是{d,b,h,e,i,a,f,c,g} 如果一个节点有右子树,那么它的下一个节点就是它的 右子树中的最左子节点。也就是说,从右子节点出发一 阅读全文
posted @ 2018-09-13 15:48 cs_wu 阅读(449) 评论(0) 推荐(0) 编辑
摘要:题目:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如:输入前序遍历序列{1,2,4,7,3,5,6,8} 在二叉树的前序遍历序列中,第一个数字总是树的根节点的值。但在中序遍历序列中,根节点的值在序列的中间,左子树的节点的值位于根节点 阅读全文
posted @ 2018-09-13 00:40 cs_wu 阅读(741) 评论(0) 推荐(0) 编辑
摘要:题目: 给定整数n,取若干个1到n的整数可求和等于整数m,编程求出所有组合的个数。比如当n=6,m=8时,有四种组合:[2,6], [3,5], [1,2,5], [1,3,4]。限定n和m小于120 (列代表n,行代表m) 代码如下: 阅读全文
posted @ 2018-09-12 16:13 cs_wu 阅读(979) 评论(0) 推荐(0) 编辑
摘要:链表的数据结构 那么在链表的末尾添加一个节点的代码如下: 在上面的代码中,我们要特别注意函数的第一个参数是pHead是一个指向指针的指针。当我们往一个空链表中插入一个节点时,新插入的节点就是链表的头指针。由于此时会改动头指针,因此必须把pHead参数设为指向指针的指针,否则出了这个函数pHead仍然 阅读全文
posted @ 2018-09-11 00:36 cs_wu 阅读(1738) 评论(0) 推荐(0) 编辑
摘要:TCP的运输连接管理 TCP是面向连接的协议。运输连接是用来传送TCP报文的。TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。因此,运输连接就有三个阶段,即:连接建立、数据传送和连接释放。运输连接的管理就是使运输连接的建立和释放都能正常地进行。 在TCP连接建立过程中要解决以下三个 阅读全文
posted @ 2018-09-10 22:41 cs_wu 阅读(2564) 评论(0) 推荐(0) 编辑
摘要:二叉查找树(Binary Search Tree)又叫二叉排序树(Binary Sort Tree),它是一种数据结构,支持多种动态集合操作,如 Search、Insert、Delete、Minimum 和 Maximum 等。 二叉查找树要么是一棵空树,要么是一棵具有如下性质的非空二叉树: 若左子 阅读全文
posted @ 2018-09-08 20:28 cs_wu 阅读(7804) 评论(0) 推荐(0) 编辑
摘要:1.int f(int a)能重载void f(int a)吗?重载是在编译期还是运行期? 答:不能重载,因为调用时不能指定类型信息,编译器不知道你要调用哪个函数。 重载是在编译器,虚函数多态(重写)才是在运行期。 2.拷贝构造函数作用及用途?什么时候需要自定义拷贝构造函数? 答:(1)在C++中, 阅读全文
posted @ 2018-09-08 16:51 cs_wu 阅读(597) 评论(0) 推荐(0) 编辑
摘要:1)、标准:分别隶属于两个不同的标准委员会。C以C99标准为主流,C11已经发布;C++以C++98/03为主流,C++11/14也日趋流行。 2)、语言本身: 1、C++是面向对象语言,C是面向过程语言。 2、结构:C以结构体struct为核心结构;C++以类class为核心结构。 3、多态:C可 阅读全文
posted @ 2018-09-07 23:38 cs_wu 阅读(5378) 评论(0) 推荐(0) 编辑
摘要:函数指针:指向函数的指针变量,在C编译时,每一个函数都有一个入口地址,那么指向这个函数的函数指针便是指向这个地址。函数指针主要有两个作用:用作调用函数和做函数的参数。 int (*func)(int x); 诸如上面的代码这是申明了一个函数指针,代码(*func)中括号是必须的,这会告诉编译器这是一 阅读全文
posted @ 2018-09-07 23:36 cs_wu 阅读(6586) 评论(0) 推荐(2) 编辑
摘要:来源于《剑指offer》 题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数 当面试官要求应聘者定义一个赋值运算符函数时,他会在检查应聘者写出的代码时关注如下几点: (1)是否把返回值的类型声明为该类型的引用,并在函数结束前返回实例自身的引用(*this)。只有返回一个引用,才可 阅读全文
posted @ 2018-09-07 00:36 cs_wu 阅读(331) 评论(0) 推荐(0) 编辑
摘要:我们都很清楚一个简单的单例模式该怎样去实现:构造函数声明为private或protect防止被外部函数实例化,内部保存一个private static的类指针保存唯一的实例,实例的动作由一个public的类方法代劳,该方法也返回单例类唯一的实例。单例大约有两种实现方法:懒汉与饿汉。懒汉:故名思义,不 阅读全文
posted @ 2018-09-06 23:25 cs_wu 阅读(273) 评论(0) 推荐(0) 编辑
摘要:题目描述 请设计一个算法能够完成两个用字符串存储的整数进行相加操作,对非法的输入则返回error 输入描述: 输入为一行,包含两个字符串,字符串的长度在[1,100]。 输出描述: 输出为一行。合法情况输出相加结果,非法情况输出error下面是我第一次写时的代码通过率虽然有80%,但是与正确的算法思 阅读全文
posted @ 2018-09-05 22:55 cs_wu 阅读(255) 评论(0) 推荐(0) 编辑
摘要:有一个X*Y的网格,小团要在此网格上从左上角到右下角,只能走格点且只能向右或向下走。请设计一个算法,计算小团有多少种走法。给定两个正整数int x,int y,请返回小团的走法数目。 阅读全文
posted @ 2018-09-05 22:22 cs_wu 阅读(485) 评论(0) 推荐(0) 编辑
摘要:现在有一个数组,其值为从1到10000的连续增长的数字。出于某次偶然操作,导致这个数组中丢失了某三个元素,同时顺序被打乱,现在需要你用最快的方法找出丢失的这三个元素,并且将这三个元素根据从小到大重新拼接为一个新数字,计算其除以7的余数。 例:丢失的元素为336,10,8435,得到的新数字为1033 阅读全文
posted @ 2018-09-05 22:20 cs_wu 阅读(1653) 评论(0) 推荐(0) 编辑
摘要:判断二叉排序树的代码如下: 完整的源代码如下: 阅读全文
posted @ 2018-09-04 00:22 cs_wu 阅读(12474) 评论(1) 推荐(1) 编辑

点击右上角即可分享
微信分享提示