| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2241 人关注过本帖
标题:这简单的代码怎翻译成C语言?
只看楼主 加入收藏
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
结帖率:97.66%
收藏
已结贴  问题点数:18 回复次数:47 
这简单的代码怎翻译成C语言?
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: C语言 
2015-03-24 18:25
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:7 
這個跟你短消息中的問題同類,順便一起說了。

動態數組,純C用鏈表實現,用我那個帖子給出的模型就可以了,不管數據結構多複雜,都是那個模式。用C++的標準庫,則是vector,在.NET是List。

授人以渔,不授人以鱼。
2015-03-24 18:35
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
很多時候,解釋型動態語言非常簡單的事情,在C那裏卻是天大的難題,否則別的語言都不用存在了。

授人以渔,不授人以鱼。
2015-03-24 18:59
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
注意數據規模哦,鏈表的查找效率很低的,大數據量時到底要怎麽實現,要設計好,不要實現了一項,到頭來又要改。還有後續動作問題,即全盤要怎麽做什麽,將來要怎麽用,都要綜合考慮,擠牙膏式解決,推倒重來的成本也大。

[ 本帖最后由 TonyDeng 于 2015-3-24 20:33 编辑 ]

授人以渔,不授人以鱼。
2015-03-24 20:25
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
思考再三,我這次嘗試改成two pass的方式做,這樣就不會有需要動態增長的陣列了。
但是不知道會拉長多少處理時間。
但是鏈表怎套上嵌套結構陣列上,還是沒頭緒。
同一題材用不一樣方式作,邊試邊學。

不要選我當版主
2015-03-24 20:36
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:0 
大數據啊,當初用VB是跑到400就爆了,所以改用類事件反回處理,但是C應該沒這種東西吧。
先試試看,不行再改了。新手就是在不斷碰壁中找到答案的吧。

不要選我當版主
2015-03-24 20:42
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
把我那個代碼中Node的Data結構改成你的結構即可。但是要注意結構體數據的複製賦値問題,不是所有結構體數據都可以用=操作的,尤其是内部含有數組的結構(能否=成功,要自己測試過才知道,很難說),那個時候最好自己寫一個複製函數,像strcpy()那樣的。

授人以渔,不授人以鱼。
2015-03-24 20:42
lxmaint
Rank: 2
等 级:论坛游民
威 望:1
帖 子:20
专家分:74
注 册:2015-3-15
收藏
得分:7 
还有一个就是偷懒的方法,
根据要打印的数据,计算出需要的内存大小,申请一块内存。
然后每个数据以字符串的形式挨个存储,已/0做间隔。
取用时,查找/0,或是根据要打印的数据,计算出偏移量也行。
不用不停的申请空间。
2015-03-24 20:56
lxmaint
Rank: 2
等 级:论坛游民
威 望:1
帖 子:20
专家分:74
注 册:2015-3-15
收藏
得分:0 
以下是引用lxmaint在2015-3-24 20:56:06的发言:

还有一个就是偷懒的方法,
根据要打印的数据,计算出需要的内存大小,申请一块内存。
然后每个数据以字符串的形式挨个存储,已/0做间隔。
取用时,查找/0,或是根据要打印的数据,计算出偏移量也行。
不用不停的申请空间。
我干过类似这样的,当时是写很多字符串,一个一个写太慢,这样操作之后,一把搞定。
一次申请了20MB.呵呵,现在想想当时是有点二了。
2015-03-24 21:01
lxmaint
Rank: 2
等 级:论坛游民
威 望:1
帖 子:20
专家分:74
注 册:2015-3-15
收藏
得分:0 
以下是引用lxmaint在2015-3-24 21:01:52的发言:

我干过类似这样的,当时是写很多字符串,一个一个写太慢,这样操作之后,一把搞定。
一次申请了20MB.呵呵,现在想想当时是有点二了。
哎,有个问题,你们发现没,为什么我再编辑的时候,敲上去的是hehe,结果发表刷新出来就变成了haha(哈哈).
2015-03-24 21:03
快速回复:这简单的代码怎翻译成C语言?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.024734 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved