广告广告
  加入我的最爱 设为首页 风格修改
首页 首尾
 手机版   订阅   地图  繁体 
您是第 5634 个阅读者
 
发表文章 发表投票 回覆文章
  可列印版   加为IE收藏   收藏主题   上一主题 | 下一主题   
oven425 手机
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x4 鲜花 x237
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片
推文 x0
[C/C++][求助] STL的问题
请问各位大大
假设说我有三个
vector<int>a
vector<int>b
vector<CString>
vector<CRect>
四个vector
..

访客只能看到部份内容,免费 加入会员 或由脸书 Google 可以看到全部内容



我的部落格
在 涅 贵 不 缁 , 暧 暧 内 含 光 。
柔 弱 生 之 徒 , 老 氏 诫 刚 强 。
行 行 鄙 夫 介 , 悠 悠 故 难 量 。
行 之 苟 有 恒 , 久 久 自 芬 芳 。
献花 x0 回到顶端 [楼 主] From:APNIC | Posted:2009-05-26 15:57 |
WindinCloud
数位造型
个人文章 个人相簿 个人日记 个人地图
路人甲
级别: 路人甲 该用户目前不上站
推文 x0 鲜花 x0
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

我觉得你应该是要考虑资料的封装性而不是效能(其实我不懂你是想要要求啥效能)

举例来说 你有下面这些资料

姓名   国文分数   英文分数
=================
a       100       40
b       30         30
c       50         80

若你分开排的话那你会变成
姓名   国文分数   英文分数
=================
a       30       30
b       50       40
c       100       80

这样应该不是你要的吧~
所以要是资料有相关的~ 请优先考虑封装性

接下来讨论效能问题
你是想讨论排序速度嘛?
若是的话
那来看看它的分析
若采用比较的方式来做为你演算法基础的话
你最快大概就是quick sort => O(nlgn)
你独立去排序
那就会是m*O(nlgn) m表你要排的资料项目数

若你封装后对它排序,每个项目都要排到
那还是m*O(nlgn) m表你要排的资料项目数

所以效能来说没变~
但是整体结果~ 后者应该会比前者正确

在来比较记忆体使用
封装与不封装差在哪?
我想应该就是记忆体内对齐的问题(这太深了不予讨论)
不过一般来说也不会大过几个byte
以现在RAM这样大~
封装比不封装顶多差上n*b个byte b表示对齐后与不封装相差的byte数
所以这也可以不用看了~

所以结论
请先看 "资料封装性" 先

此文章被评分,最近评分记录
财富:50 (by 三仙) | 理由: 因为您的参与,让程式设计更容易!!


献花 x0 回到顶端 [1 楼] From:未知地址 | Posted:2009-06-11 00:10 |
oven425 手机
个人文章 个人相簿 个人日记 个人地图
初露锋芒
级别: 初露锋芒 该用户目前不上站
推文 x4 鲜花 x237
分享: 转寄此文章 Facebook Plurk Twitter 复制连结到剪贴簿 转换为繁体 转换为简体 载入图片

感谢大大个回覆
我之前的确观念是偏颇了
我会好好的再想想看


我的部落格
在 涅 贵 不 缁 , 暧 暧 内 含 光 。
柔 弱 生 之 徒 , 老 氏 诫 刚 强 。
行 行 鄙 夫 介 , 悠 悠 故 难 量 。
行 之 苟 有 恒 , 久 久 自 芬 芳 。
献花 x0 回到顶端 [2 楼] From:台湾凯擘 | Posted:2009-06-11 22:02 |

首页  发表文章 发表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.074052 second(s),query:16 Gzip disabled
本站由 瀛睿律师事务所 担任常年法律顾问 | 免责声明 | 本网站已依台湾网站内容分级规定处理 | 连络我们 | 访客留言