注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Code@Pig Home

喜欢背着一袋Code傻笑的Pig .. 忧美.欢笑.记忆.忘却 .之. 角落

 
 
 

日志

 
 

[编程玑珠] Column3 - Data Structures Programs  

2008-12-09 23:08:14|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
这章主要是讲解 Data Structure 的重要性,“数据结构设计得好,能极大的简化代码”。

第一个例子是"统计文件中数字 1 ~ 500 出现的次数":
if ( k ==     1 ) c001++;
if ( k ==     2 ) c002++;
...
if ( k == 500 ) c500++;
改进后
cnt_array[k]++;
这是一个极端的例子,不过很能表达数据结构的重要性。

另一个例子在 UI 程序中很常见,“有5个 menuitem,我希望点任何一个 menuitem 则其前面会有一个'小勾',同时其他的 menuitem 前没有'小勾'"。初学这很容易写出这样的代码:
sub menuitem0_click()
    menuitem0.checked = 1
    menuitem1.checked = 0
    menuitem2.checked = 0
    menuitem3.checked = 0
    menuitem4.checked = 0
sub menuitem1_check()
    ...
如此这般,写一堆代码。其实可以简化为:
sub menuitem_click(int choice)
    for i = [0, numchoices)
        menuitem[i].checked = 0
    menuitem[choice].checked = 1


  评论这张
 
阅读(606)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017