对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对
于树的遍历若采用非递归的方法,就要采用栈去模拟实现。在三种遍历中,前序和中序遍历的非递归算法都很容易实现,非递归..
分类:
编程语言 时间:
2016-04-22 16:46:29
阅读次数:
164
今天我们模拟实现一下strcat和strncat这两个函数。首先我们先了解一下strcat这个函数,它的意思是将第二个字符串连接到第一个字符串的末尾。我们先看下函数原型:char*strcat(char*dest,char*src)把src所指字符串添加到dest结尾处(覆盖dest结尾处的‘\0‘)并添加‘\0‘。下面我们来..
分类:
其他好文 时间:
2016-04-21 18:43:28
阅读次数:
204
今天我们来模拟实现strstr这个函数,首先我们先来了解一下这个函数,这个函数原型为char*strstr(char*str1,char*str2),功能是:从字符串str1中查找是否有符串str2,若str2是str1的子串,则先确定str2在str1的第一次出现的位置,并返回此str1在str2首位置的地址,如果str2不是s..
分类:
其他好文 时间:
2016-04-21 18:42:13
阅读次数:
125
滚动条在web开发中,很常见,原生的HTML滚动条很难看,因此很多网站借助JS来模拟实现滚动条效果; 滚动条的实现原理其实比较简单,拿垂直滚动条来说: 1),最外层容器需要设置overflow:hidden,里层容器的高度(滚动框)一亘高过最外层容器,就会出现右侧绝对定位的滚动条,并且还要在外层容器 ...
分类:
Web程序 时间:
2016-04-21 15:01:44
阅读次数:
426
要模拟库函数的实现,必须要搞清楚的是在程序调用中它的实现原理是什么,接下来就讲解几个字符串相关的函数,比如strcmp(),strncmp(),strcat(),strncat()......字符串函数主要包括受限制字符串函数与不受限制字符串函数,那么什么是受限制字符串函数与不受限制字符..
分类:
其他好文 时间:
2016-04-21 13:50:57
阅读次数:
257
// 模拟实现库函数的atof函数 #include <stdio.h> #include <string.h> #include <assert.h> #include <ctype.h> double my_atof(char const *p) { double ret = 0; int fl ...
分类:
编程语言 时间:
2016-04-13 12:49:15
阅读次数:
192
利用栈的特性,实现队列1.栈-后进先出,队列-先进先出,使用两个栈,栈1作用为push数据用,栈2作为pop数据用。2.原理分析:1).push数据-当模拟实现的queuepush数据往栈1中push。2).pop数据-判断栈2是否为空,如果栈2为空,则首先将栈1的数据压入到栈2中(依次取栈顶元素push到栈..
分类:
其他好文 时间:
2016-04-13 00:35:15
阅读次数:
126
代码如下,写这个的时候是用扑克牌模拟实现逻辑的@.·.@ ...
分类:
编程语言 时间:
2016-04-09 15:04:23
阅读次数:
315
大型网站问题的解决方案 大并发 答:可以使用服务分层架构实现,主要使用的技术是负载均衡器。 分层: 单服务器 b. 简单分层 c. 集群(负载均衡集群) 场景模拟: 实现图: 负载均衡器常见实现: 硬件:f5 ,立竿见影,效果明显,价格昂贵,主要游戏公司,银行使用,20w左右单台 软件:nginx(... ...
分类:
Web程序 时间:
2016-04-08 19:49:37
阅读次数:
217
//1.模拟实现strstr函数。
#include<stdio.h>
#include<assert.h>
char*my_strstr(char*str,char*p)
{
char*cp=p;
char*p1=str;
assert(*p);
if(!*p)
returnNULL;
if(!*p1)
returnNULL;
char*p2=str;
while(*p1)
{
p2=p1;
cp=p;
while(*p2&&*cp&&!..
分类:
其他好文 时间:
2016-04-08 15:26:59
阅读次数:
114