高人请进

zzsxqzzsxq3000 2003-10-08 05:08:36
在一个数组里,存放了7000个汉字,随便给出一个汉字,快速定位出它在数组里面的位置,用线性检索太慢了,二分检索好像不行,请问我改怎么做?实在是郁闷,
在线等待... .. .
...全文
48 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
zzsxqzzsxq3000 2003-10-09
  • 打赏
  • 举报
回复
忘了说一点,程序是用标准c实现的。
wingfiring 2003-10-09
  • 打赏
  • 举报
回复
还是hash比较好。
zzsxqzzsxq3000 2003-10-09
  • 打赏
  • 举报
回复
具体要怎么做啊,我真的不太明白。能具体说说吗?谢谢
rtdb 2003-10-09
  • 打赏
  • 举报
回复
就是按你存放的内码比较大小就可以了, 你不是都放在数组中了么,
双字节内码直接当成short就可以了。
zzsxqzzsxq3000 2003-10-09
  • 打赏
  • 举报
回复
怎么先有序?汉字按什么排序规则可以互相比较“大小”?偶不太明白哦
nbb 2003-10-08
  • 打赏
  • 举报
回复
二分搜索行,但是数组的索引最好不要直接用汉字的编码,将汉字在unicode中的基偏移减去再二分搜索应该行(偶没试过,你试^_^)
comfile 2003-10-08
  • 打赏
  • 举报
回复
先有序再查找
cxjddd 2003-10-08
  • 打赏
  • 举报
回复
用 hash 算法吧。

反正汉字要有序,这样就可以快速找到了。
tuxw 2003-10-08
  • 打赏
  • 举报
回复
将汉字的字库区位表的顺序存储(缩减掉那些没用的符号),然后根据待查汉字的内码换算后直接定位
lemon520 2003-10-08
  • 打赏
  • 举报
回复
既然你们都这么认为了,我也没什么好说的了!
yufish123 2003-10-08
  • 打赏
  • 举报
回复
我还是认为先排序,再二分做比较快~
boxban 2003-10-08
  • 打赏
  • 举报
回复
同意rtdb(东临碣石)
15962 2003-10-08
  • 打赏
  • 举报
回复
Jinhao(辣子鸡丁) ( ) 不会吧,大动干戈!
Weigehoho 2003-10-08
  • 打赏
  • 举报
回复
动手操作一下,别以为麻烦
Jinhao 2003-10-08
  • 打赏
  • 举报
回复
用多线程试一下呀
rtdb 2003-10-08
  • 打赏
  • 举报
回复
当然要先排序,再二分了。7000多数据,用二分法轻松搞定。

Bandry 2003-10-08
  • 打赏
  • 举报
回复
数据结构里面不是有好多查询方法吗?拣一个用就行了
zzsxqzzsxq3000 2003-10-08
  • 打赏
  • 举报
回复
谁来帮帮我啊?
怎样使用智能电视的DLNA功能全文共10页,当前为第1页。怎样使用智能电视的DLNA功能全文共10页,当前为第1页。怎样使用智能电视的DLNA功能 怎样使用智能电视的DLNA功能全文共10页,当前为第1页。 怎样使用智能电视的DLNA功能全文共10页,当前为第1页。 展开全文 在立体中国也泡了几天,发现用立体电视的朋友很多,但还没见到任何一帖谈论DLNA这个话题的,所以决定写点什么,算是抛砖引玉吧。首先声明,本人码字比较慢,恐怕要续上几贴才能写完,各位担待。 本主题对下列人士没用: - 你弄了台HTPC,专门接在电视上; - 你用个高清盒播放所有资源; - 你对用U盘播放视频很满意; - 你有一台LG,或者其它支持Windows文件共享(SAMBA/CIFS)的型号; 如果你是以上几类高人的话,可以考虑打住了。当然你一定要捧场,我也不反对,呵呵。开始之前先声明一下,本帖是根据我使用索尼电视的经验写成,其它品牌的实现可能略有不同。 第一帖先科普一下,万一有不知道什么是DLNA的,可以看看维基百科,/wiki/Digital_Living_Network_Alliance 嗯,全是洋文,貌似很高深,其实没有啦,就是几个家电业的巨头搞出来的一套通过网络共享多媒体资源的协议,当然协议本身还是蛮复杂的,好在我们只是用用而已,没必要知道太多细节。那么,什么样的电视机支持DLNA呢?我想说智能电视都支持,如果有朋友知道反例,可以提出来。既然这里是立体中国,我还想再一步,所有立体电视都是智能电视,所以,所有立体电视都支持DLNA,就像所有立体电视一定支持USB一样。 好了,大家都有DLNA 那么电视机上的DLNA能干什么呢?如果你看过了维基百科,就知道电视属于DLNA规范定义的某一类设备,怎样使用智能电视的DLNA功能全文共10页,当前为第2页。怎样使用智能电视的DLNA功能全文共10页,当前为第2页。没看过也不要紧,我这就告诉你,电视机一般来说既是player - 数字媒体播放器,又是renderer - 数字媒体渲染器,前者简称DMP,后者简称DMR。在电视机上DLNA的工作方式基本上是两种: 怎样使用智能电视的DLNA功能全文共10页,当前为第2页。 怎样使用智能电视的DLNA功能全文共10页,当前为第2页。 - 作为DMP,直接播放数字媒体服务器 - DMS上的内容。说白了,就是把DMS当作网盘来用,知道为什么我说你的电视支持文件共享就可以打住了吧?既然已经可以直接访问PC上的文件,就没必要折腾了; - 作为DMR,让其它DMP把播放内容显示在电视上。这不是本文的重点,而且这样的DMP软件不多,我知道的只有腾讯视频,有兴趣的可以下载看看,好处是不用把电脑放在电视旁边了,只要在同一个局域网里,腾讯视频可以播放的内容都能在电视上出来。 这里我已经提到了三种DLNA设备,DMP、DMR和DMS,还有一种叫数字媒体控制器 - DMC,它们可以控制DMS上的内容在DMR上播放,很多移动设备,比如手机和平板电脑,配合适当的软件,都能做DMC,本文也不讨论。 明白我打算说什么了吧?本文是介绍如何在Windows PC上搭建DLNA媒体服务器,让智能电视可以直接播放PC上的内容,省去把文件拷贝到U盘,再插到电视上播放的步骤。还有兴趣?那咱们明天继续。 说到在PC上建立DLNA服务器,让智能电视可以通过网络访问PC上的内容。之前我有说过,LG电视比较给力,能直接访问Windows的文件共享,而其它品牌,我知道的像索尼、松下、三星之类由于版权啊、软件实现成本等等原因,都没有把这个功能做固件里,用来替代文件共享的就是这个DLNA协议。比如在索尼电视上,主菜单上选媒体,再选音乐、照片或者视频,就会显示局域网里所有的DLNA服务器列表,你选中一个服务器入,不同的服务器会用不同的方式显示媒体文件列表,再选文件就可以观看了。 怎样使用智能电视的DLNA功能全文共10页,当前为第3页。怎样使用智能电视的DLNA功能全文共10页,当前为第3页。 怎样使用智能电视的DLNA功能全文共10页,当前为第3页。 怎样使用智能电视的DLNA功能全文共10页,当前为第3页。 感谢微软,Windows 7操作系统已经集成了一个DLNA服务器,就是Windows Media Player,它算是本文的配角吧。首先确保你的电视已经联网,这里我强烈建议使用以太网(同时回应4楼的朋友),WIFI不是不行,但是看全高清十分勉强,如果你家里没有布线,又不想毁了你的豪华装修,可以考虑用电源插口跑以太网,我用WD的Powerline AV 网络套装,效果还不错,有兴趣尝试的可以考虑。如果你的电脑开着,并且和电视在同一个网段,应该就可以被电视机"看见"了,具体操作每个品牌不同,索尼的看上一

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧