07 2009 档案
摘要:很多系统都有其自身的垃圾回收,其回收机制大体是相同的。它们使程序员从跟踪内存使用的繁重任务中解脱出来。虽然大多数回收器都要求应用程序不时地暂停从而释放不再使用的内存。但C#中的回收器效率还是很高的。 垃圾回收器的基本假定: 1.被分配内存空间的对象最有可能被释放。在方法执行时,就需要为该方法的对象分配内存空间,搜索最近分配的对象集合有助于花费最少的代价来尽可能多地释放内存空间。 2.生命期最长的对象释放的可能性最小,经过几轮垃圾回收后,对象仍然存在,搜索它时就需要进行大量的工作,却只能释放很小的一部分空间。 3.同时被分配内存的对象通常是同时使用,将它们彼此相连有助于提高缓存性能和回收效率 .
阅读全文
摘要:今天我先写两个时间复杂度为0(N^2)的排序算法,明天继续,1. 我们最熟悉的冒泡排序,// Bubble sortvoid BubbleSort(int *pData,int count){ int iTemp; for(int i = 1; i < count; i++) { for(int j = count -1; j >= i; j--) { if(pData[j] > pData[j - 1]) { iTemp = pData[j -1]; pData[j -1] = pData[j]; pData[j] = iTemp; } } }}2. 然后是选择排序,就是从
阅读全文
摘要:今天一下午在看sharepoint了,又有活干,所以时间比较紧凑,于是想起了前些日子写的求最大子序列之和,作为每日一小题吧,暂做自我安慰吧。求最大子序列之和,主要要注意他的效率,1,算法复杂度是O( pow( n, 2 ) )int max_sub(int a[], int size){ int i, j, v, max = a[0]; for(int i = 0; i < size; i++) { v = 0; for(int j = i; j < size; j++) { v = v + a[j]; if( v > max) { max = v; } } } return
阅读全文
摘要:好久没写c/c++程序了,手脑都迟钝了老些,希望自己能够通过没日一小题来提高自己,锻炼自己。今日题目是,“两个已经排好序的数组,合并他们并使他们也排好序”。程序如下:希望高手们来指教。。int * MergeArray(int *a,int len1, int *b,int len2){ int *c = new int(sizeof(int) * (len1 + len2)); int i=0,j=0,k=0; // 比较2个数组大小,并交换 if( len1 < len2) { int *p = a; a = b; b = p; int t = len1; len1 = len2;
阅读全文
摘要:页面生命周期页面生命周期执行一系列步骤:页面的初始化、实例化控件、还原和维护状态、运行事件处理程序代码、呈现。为了在合适的阶段执行所需的代码,所以要对页面生命周期非常熟悉。在页生命周期的各个阶段,页面会逐个引发定义的事件,通过对代码开发,在页面的生命事件中执行我们所需要的程序页生命周期阶段1、 页请求:发生在页面生命周期之前,用户请求页时,ASP.NET将确定是否需要分析和编译页,从而确定是否开始页面的生命周期,或者是否可以在不运行页的情况下发送页面缓存以进行响应。2、 开始:设置页属性,如:HttpContext以及其他属性;在此阶段,页面需要确定是回发请求还是新请求,并设置IsPostBa
阅读全文
摘要:第一种方法:declare @tb1 table (日期datetime,部门varchar(50),姓名varchar(50),当天业绩int)insert into @tb1 values ('2008/03/01','Group1','ZhangSan' ,5000)insert into @tb1 values ('2008/03/03','Group1','ZhangSan',3000) insert into @tb1 values ('2008/03/05','
阅读全文
摘要:create table SC( SNo int, Sname nvarchar(50), Cname nvarchar(50), Score int,)insert into SC values(1 , '张三', '数学', 89),(1 ,'张三', '语文' ,80),(1, '张三', '英语', 70),(2, '李四', '数学', 90),(2, '李四', '语文', 70),(2, '李四',
阅读全文