摘要: http://blog.csdn.net/ns_code/article/details/12977901 二叉树的非递归遍历 二叉树是一种非常重要的数据结构,很多其它数据结构都是基于二叉树的基础演变而来的。对于二叉树,有前序、中序以及后序三种遍历方法。因为树的定义本身就是递归定义,因此采用递归的方法去实现树的三种遍历不仅容易理解而且代码很简洁。而对于树的遍历若采用非递归的方法,就... 阅读全文
posted @ 2016-03-16 23:12 copperface 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 这个算法的根本原理是:一个分数对应一条直线的斜率。用数学语言描述就是:一条直线的斜率是无穷大(垂直于X轴)或者是(Y2-Y1) / (X2-X1),我们要做的就是找到2个整数,在指定的精度范围内接近这个斜率。对于正数来说,我们设置分子为0,分母为1,然后比较这个分数同给定的十进制数。如果我们的分数太小了(比如,我们选择的点在直线的下面),我们就加大分子的值直到这个分数太大(比如,这个点在直... 阅读全文
posted @ 2016-03-16 23:03 copperface 阅读(637) 评论(0) 推荐(0) 编辑
摘要: 设要排序的数组是A[0]……A[N-1],首先任意选取一个数据(通常选用数组的第一个数)作为关键数据,然后将所有比它小的数都放到它前面,所有比它大的数都放到它后面,这个过程称为一趟快速排序。 平均时间复杂度:尽管快速排序的最坏时间为 O(n^2 ), 但就平均性能而言,它是基于关键字比较的内部排序算法中速度最快的,快速排序亦因此而得名。它的平均时间复杂度为 O(n×lgn)。 ... 阅读全文
posted @ 2016-03-16 22:56 copperface 阅读(249) 评论(0) 推荐(0) 编辑
摘要: ASP.Net中内置的简化AJAX开发的控件UpdatePanel放入ScriptManager,将要实现AJAX效果的控件放到UpdatePanel中即可。UpdatePanel原理探秘,用HttpWatch看。只把需要无刷新更新的部分放到UpdatePanel中。UpdatePanel用来实现一些对性能要求不高的需求非常方便。Timer实现定时AJAX效果,原理分析。 UpdateProgre... 阅读全文
posted @ 2016-03-16 22:13 copperface 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 这里是因为序列化类型比较复杂,直接用JavaScriptSerializer将其序列化不成功123456789101112131415161718192021222324252627public class PagedService : IHttpHandler { public void ProcessRequest (HttpContext context) { con... 阅读全文
posted @ 2016-03-16 21:55 copperface 阅读(936) 评论(0) 推荐(0) 编辑
摘要: AJAX传递复杂数据如果自己进行格式定义的话会经历组装、解析的过程,因此AJAX中有一个事实上的数据传输标准JSon。Json将复杂对象序列化为一个字符串,在浏览器端再将字符串反序列化为JavaScript可以读取的对象。看一下Json的格式。Json被几乎所有语言支持。在C#中,将一段信息,根据Javascript的格式进行序列化,如下:1234567891011121314151617... 阅读全文
posted @ 2016-03-16 21:53 copperface 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 服务器端程序1234567891011121314151617181920212223 using System;using System.Web; public class GetPrice : IHttpHandler { public void ProcessRequest (HttpContext context) { context .Response.Con... 阅读全文
posted @ 2016-03-16 21:50 copperface 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 服务器端12345678910111213141516171819202122232425using System;using System.Web;using System.Text;public class PostComment : IHttpHandler { public void ProcessRequest (HttpContext context) { ... 阅读全文
posted @ 2016-03-16 21:48 copperface 阅读(225) 评论(0) 推荐(0) 编辑
摘要: 1234567891011121314151617181920212223242526272829303132333435如果改成如下方式xmlHttp . open( "GET" , "GetDate1.ashx?"ts" + new Date (), false ); 那么发出请求以后发现点击按钮,时间不更新并且在Stream中没有请求。这是因为:xmlHttp . open( "GET" ,... 阅读全文
posted @ 2016-03-16 21:46 copperface 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 功 能: 使用快速排序例程进行排序头文件:stdlib.h用 法: void qsort(void *base,int nelem,int width,int (*fcmp)(const void *,const void *));参数: 1 待排序数组首地址2 数组中待排序元素数量3 各元素的占用空间大小4 (比较函数)指向函数的指针,用于确定排序的顺序比如:对一个长为1000的数组进行排序时,... 阅读全文
posted @ 2016-03-16 21:42 copperface 阅读(193) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/wuliming_sc/article/details/3717017const、volatile、mutable的用法const修饰普通变量和指针const修饰变量,一般有两种写法:12const TYPE value;TYPE const value;这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。对于... 阅读全文
posted @ 2016-03-16 21:32 copperface 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 自动变量,就是普通的局部变量相对于静态变量而言的非自动变量有两种,一种是全局变量,一种是静态变量 自动的意思就是在一定的作用域内会自动消亡非自动就是不会自己释放内存,每次访问改变值后,值会一直保存在那里 阅读全文
posted @ 2016-03-16 21:29 copperface 阅读(1006) 评论(0) 推荐(1) 编辑
摘要: 判断是否是数字isdigitisNumber 二者区别http://www.cnblogs.com/xiashengwang/p/3219925.html 需要包含头文件 #include【旧】#include 【新】判断字母isalpha: 判断字符ch是否为英文字母,若为小写字母,返回2,若为大写字母,返回1。若不是字母,返回0。isupper (int c): 当参数c为大写... 阅读全文
posted @ 2016-03-16 21:27 copperface 阅读(764) 评论(0) 推荐(0) 编辑
摘要: 有关运算符优先级 1. "<<" 和 "+" data8 = data4H << 4 +data4L; 这里本意是让高四位的数据,左移四位,然后和低四位相加,但是因为 “+”的运算符优先级 高于 "<<",所以会导致如下的情况: data8 = data4H << (4 +data4L); int 阅读全文
posted @ 2016-03-16 21:25 copperface 阅读(204) 评论(0) 推荐(0) 编辑
摘要: vs2010使用C 1打开Microsoft Visual Studio 2010软件;依次打开“新建”、“项目”。2选择“win32控制台应用程序”,在窗口下面的名称填写好名称。3点击“下一步”继续。4在附加选项中选择“空项目”,然后点击“完成”。5在软件界面左边的"解决方案资源管理器"中的“源文件”上面右击鼠标一次选择“添加”、“新建项”。6在新窗口中选择“C++文件(.cpp)”,... 阅读全文
posted @ 2016-03-16 21:21 copperface 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 1234567891011121314151617181920#include#includeint main(){ char word[100]; scanf( "%s",word); int len=strlen(word); for(int i=1;i<=len;i++) if(len%i==0) ... 阅读全文
posted @ 2016-03-16 21:18 copperface 阅读(347) 评论(0) 推荐(0) 编辑
摘要: 数组存储整数,模拟手算进行四则运算 阶乘精确值1234567891011121314151617181920212223242526#include#includeconst int maxn=3000;int f[maxn];int main(){ int i,j,n; scanf( "%d",&n); memset(f,0, sizeof(f));//清... 阅读全文
posted @ 2016-03-16 21:16 copperface 阅读(171) 评论(0) 推荐(0) 编辑
摘要: 分析:不能用scanf(“%s”),因为碰到空格或者Tab就会停下来。解决输入中有空格方法一:使用fgetc(fin),读取一个打开的文件fin,读取一个字符,然后返回一个int值,当文件结束,返回特殊标记EOF(int型的)。(使用fgetc(fin)可以从打开的文件fin中读取一个字符,一般情况下,应当在检查它不是EOF后再将其转化成为char值。从标准输入读取一个字符可以用getchar()... 阅读全文
posted @ 2016-03-16 21:15 copperface 阅读(162) 评论(0) 推荐(0) 编辑
摘要: sscanf与scanf类似,都是用于输入的,只是后者以键盘(stdin)为输入源,前者以固定字符串为输入源。1. 常见用法。123char buf[512] ;sscanf("123456 ", "%s", buf);//此处buf是数组名,它的意思是将123456以%s的形式存入buf中!printf("%s\n", buf);结果为:1234562. 取指定长度的字符串。如在下例中,取最大长... 阅读全文
posted @ 2016-03-16 21:13 copperface 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051#include#include#includeint n;char word[ 1000][10 ],sorted[ 1000][10 ];//字符比较函数int cmp_char(const void * _a... 阅读全文
posted @ 2016-03-16 21:11 copperface 阅读(206) 评论(0) 推荐(0) 编辑