2010年6月23日星期三

思想与命运

思想决定行为。
行为决定习惯。
习惯决定性格。
性格决定命运。

所以,有什么样的思想,最终就决定会是什么样的命运。
所以,不要说造化弄人,
因为,思想越坚定,热情越高涨,则行为越坚决而百折不挠,则发现成功的机会和可用的资源就越多。
行为最终成为了习惯性的行为时,则逐渐塑造成了富有人格魅力的性格,
则得到别人的支持和帮助、即获得的各种有形无形的资源就更丰富,
成功则是水到渠成。因为并不是靠一己之力,是性格决定的,一批人的共同努力。

做好人与作大事

做好人需正大光明,应该简单。
而作大事则需勤勉谨慎,无根性则不成。
两者不一定有交集,然有交集的才是作大事的好人。

修身-齐家-治国-平天下

好像是老孟的这句话,
修身方能齐家,齐家方能治国,治国方能平天下。
对于我辈芸芸众生而言,常常考虑的却是无利不早起,或者是唯名权利是图,趋之若鹜,损人利己,甚至于
为了心理的平衡,哪怕不利己也要损人。对于修身二字,谈何容易啊。

第一步修身且难,更何况齐家,这一点,对于我们的官而言,往往是这样的,一部分人,就算自己再如何的清,拼命的修身,稍不留神,自己的后院起了火,没有做到齐家,最终导致放弃了修身,干脆,与世俗同流,或者是干脆灰不溜秋吧。

能修身,兼能齐家者,始能成大器,若兼有治国之谋略,那就了不得了。

Stack应用的体会-等待或者嵌套场合使用。

堆栈stack这个数据结构,在大学里学过,只知道是先进后出,但是具体实际应用中,
什么情况下,才会用到,最近才豁然醒悟,简单的记录下来。
1 等待的时候用。
举个例子,一个任务流,刚进入流的时候,首先过滤到任务的名称,记录此名称的任务,并将任务压入stack,下一次接受到数据后,从stack中peek出来此任务,直到接收到任务结束符,才pop掉此任务。
然后等待下一个任务名称的到来。

简单的事例代码
stack jobs = new stack();
job j =null;
foreach(Item item in Items)
{
if(item.start)
{
jobs.push(item);
}
if(jobs.count>0)
{
j= jobs.peek();
}
if(j!=null && item.end)
{
j.completed=true;
jobs.pop();
j=null;
}
}

2 嵌套场合用。嵌套场合使用stack,可以迅速将问题简单化。
举个过滤代码的例子,
_____________________________
1 Do While
2 if isOK then
3 select case
4 case 1
5 case 2
6 case 3
3 end select
2 end if
7 for i=0 to 100
8 ...
7 next i
1 Loop
___________________________
使用stack,可以轻松的对Do While Loop, if then end if, for next 的嵌套关系做处理。
最先进入的do while,肯定是最后处理对应的loop.

基于以上的理解,终于搞明白了,堆栈在函数调用中担当的角色。
一个启动函数调用函数A,就将A压入堆栈,直到A返回值,才将A从堆栈中弹出。
同样A调用B,就先将B压入,B再调用C,就再将C压入,然后再从最后一个被调用的函数返回值开始,顺次从堆栈中弹出。这就是stack堆栈的最后进最先出的奥妙。