博文
结婚周年系列表达 (2006-10-26 12:16:00)
摘要:Paper wedding--纸婚1周年
Tin wedding--锡婚2周年
Crystal wedding--水晶婚15周年
China wedding--搪瓷婚20周年
Silver wedding--银婚25周年
Pearl wedding--珍珠婚30周年
Ruby wedding--红宝石婚40周年
Sapphire wedding--蓝宝石婚45周年
Golden wedding--金婚50周年
Emerald wedding--翠玉婚55周年
Diamond wedding--钻石婚60-70周年
......
我的处女面——北京亚控(2006-10-26 12:10:00)
摘要:昨天(10.25)下午的考试,后来晚上就收到了通知。考得题目都是C++的基本知识,题目也很老。不知道这个公司如何,下午去了再说了,如今的人才市场,还是买方的市场阿。
面试经过:郁闷,快有一个小时。聊得倒挺投机的,把我做过的项目好好的介绍了一下,发挥的还不是很过分。作为第一次面试,感觉还可以了。告知我所有笔试的人员当中,很少有过70的,我就68。预料到的,本来就觉得自己答得不是很好,不过,没有想到别的人有那么的差。呵呵……而且,介绍后的亚控也让我很是振奋,所经营的三个软件产品在国内也都很是领先,而且说公司几乎不加班,一切都进行顺利,正当我信心鼓舞的准备为之奋斗时。却告知工资只有3500,转正后也就5000。其实也无所谓了,还可以。不过,既没有年终奖,又说那边的房租那么贵。只好暂且搁置了,我的处女面啊,可惜了!
明天还有文思呢,加油了!
2006.10.26......
人生物语(2006-10-24 21:17:00)
摘要:Taking the first step
How will you know you can succeed at something if you don't give it a try?
How will you know you can drag yourself out of the depths of your despair if you don't try?
How do you know you won't get that new job if you don't apply? How do you know...
Before becoming a success at anything, you must take that first step.
Giving and Receiving Love
Humans need love. It is in the giving and receiving of love that we choose life. Participating in this fundamental exchange lies in our ability to trust others.
Happiness Now!
Happiness is to be found along the way, not at the end of the road, for then the journey is over and it is too late.
Today, this hour, this minute is the day, the hour, the minute for each of us to sense the fact that life is good, with all of its trials and troubles, and perhaps more interesting because of them.
Setting aside special moments
Over the years, I have noticed that it has become more and more difficult to set a......
冒泡排序学习笔记(2006-10-24 20:58:00)
摘要: 冒泡排序算法:
void BubleSort(SqList &L)
{
bool exchange;
for (int i=2; i<=n; i++)
{
exchange = false;
for (int j=1; j<=n-i+1; j++)
{
if (L.r[j].key>L.r[j+1].key)
{
exchange = true;
L.r[0] = L.r[j+1];
L.r[j+1] = L.r[j];
L.r[j] = L.r[0];
}
}
if (!exchange)
{
return;
}
}
}......
快速排序学习笔记(2006-10-24 20:34:00)
摘要:
分解算法:每趟运算确保比枢轴pivot小的值都在其左边,大的都在右边。
int Partition(SqList &L, int low, int high)
{
L.r[0] = L.r[low];//子表中的第一个记录作为枢轴记录
int pivot = L.r[low].key;//枢轴记录的关键字值
while (low < high)
{
while (low < high && L.r[high].key>pivot)
{
high--;
}
L.r[low].key = L.r[high].key;
while (low < high && L.r[low].key<pivot)
{
low++;
}
L.r[high].key = L.r[low].key;
}
L.r[low] = L.r[0];
return low;
}
求解过程:递归调用分解函数的过程。
void QSort(SqList &L,int low,int high)
{ // 对顺序表L中的子序列L.r[low..high]作快速排序。算法10.7
int pivotloc;
if(low<high)
{ // 长度大于1
pivotloc=Partition(L,low,high); // 将L.r[low..high]一分为二
......
数据连接池的工作机制(2006-10-24 15:45:00)
摘要: J2EE服务器启动时会建立一定数量的池连接,并一直维持不少于此数目的池连接。客户端程序需要连接时,池驱动程序会返回一个未使用的池连接并将其表记为忙。如果当前没有空闲连接,池驱动程序就新建一定数量的连接,新建连接的数量有配置参数决定。当使用的池连接调用完成后,池驱动程序将此连接表记为空闲,其他调用就可以使用这个连接。......
近期笔试总结,中科后(2006-10-24 15:40:00)
摘要:最近也参加了不少的笔试了,从汉略一直到今天下午的中科软。说收获的话倒没有什么,唯一印象的就是一次次的别鄙视,可怜了我的满腹信心。经验总结下来,也就是说书看得还是不够多,还要继续努力。要不这样,也只能一次一次浪费笔试机会。明天后还有更多的机会,要加油了!......
c++中char * 和 char []的区别(2006-10-24 15:36:00)
摘要:问题引入:
同样char *c = "abc"和char c[]="abc",前者改变其内容程序是会崩溃的,而后者完全正确。
程序演示:
测试环境Devc++
代码
#include <iostream>
using namespace std;
main()
{
char *c1 = "abc";
char c2[] = "abc";
char *c3 = ( char* )malloc(3);
c3 = "abc";
printf("%d %d %s\n",&c1,c1,c1);
printf("%d %d %s\n",&c2,c2,c2);
printf("%d %d %s\n",&c3,c3,c3);
getchar();
}
运行结果
2293628 4199056 abc
2293624 2293624 abc
2293620 4199056 abc
参考资料:
首先要搞清楚编译程序占用的内存的分区形式:
一、预备知识—程序的内存分配
一个由c/C++编译的程序占用的内存分为以下几个部分
1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于
数据结构中的栈。
2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收。注意它与数据
结构中的堆是两回事,分配方式倒是类似于链表,呵呵。
3、全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态
变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。程序结束后由系统
释放。
4、文字常量区—常量字符串就是放在这里的。程序结束后由系统释放。
5、程序代码区
这是一个前辈写的,非常详细
//main.cpp
......
2_路插入排序学习笔记(2006-10-23 23:06:00)
摘要:
代码:
void P2_InsertSort(SqList &L)
{ // 2_路插入排序
int i,j,first,final;
RedType *d;
d=(RedType*)malloc(L.length*sizeof(RedType)); // 生成L.length个记录的临时空间
d[0]=L.r[1]; // 设L的第1个记录为d中排好序的记录(在位置[0])
first=final=0; // first、final分别指示d中排好序的记录的第1个和最后1个记录的位置
for(i=2;i<=L.length;++i)
{ // 依次将L的第2个~最后1个记录插入d中
if(L.r[i].key<d[first].key)
{ // 待插记录小于d中最小值,插到d[first]之前(不需移动d数组的元素)
first=(first-1+L.length)%L.length; // 设d为循环向量
d[first]=L.r[i];
}
else if(L.r[i].key>d[final].key)
{ // 待插记录大于d中最大值,插到d[final]之后(不需移动d数组的元素)
final=final+1;
d[final]=L.r[i];
&nbs......
折半插入排序学习笔记(2006-10-23 22:51:00)
摘要:
程序:
void BInsertSort(SqList &L)
{ // 对顺序表L作折半插入排序。算法10.2
int i,j,m,low,high;
for(i=2;i<=L.length;++i)
{
L.r[0]=L.r[i]; // 将L.r[i]暂存到L.r[0]
low=1;
high=i-1;
while(low<=high)
{ // 在r[low..high]中折半查找有序插入的位置
m=(low+high)/2; // 折半
if LT(L.r[0].key,L.r[m].key)
high=m-1; // 插入点在低半区
else
low=m+1; // 插入点在高半区
}
for(j=i-1;j>=high+1;--j)
L.r[j+1]=L.r[j]; // 记录后移
L.r[high+1]=L.r[0]; // 插入
}
}
总结:此方法和直接插入排序所需的辅助空间相同,从时间上比较,仅减少了关键字比较的次数,记录的移动次数不变。所......