谢谢!那位能给个答案?

zhangshizhen2010 2010-03-22 12:52:45
加精
1. 分析下面的程序 :
public class Thing {
int capacity;
int growspeed;

public int size;
public String []keys;
public Object []values;
public Thing(int initialcapacity) {
capactity= initialcapacity ;
keys=new String [capacity];
values=new Object [capacity];
}
public void clear(){
for(int i=0;i<size;i++) {
keys[i]=null;
values[i]=null;
}
size=0;
}
public void put(String key,Object value) {
int idx=get(key);
if(idx>=0){
keys[idx]=key;
values[idx]=value;
return ;
}
if(size>capacity) grow(1);
size++;
idx=-1-idx;
for(int i=size-1;i>idx;i--){
keys[i]=keys[i-1];
values[i]=values[i-1];
}
keys[idx]=key;
values[idx]=values;
}
Void grow(int amount){



}
public void get(String key) {
int low=0;
int high=size-1;
int cmp=0;
while(low<=high){
int mid=(low+high)/2;
cmp=keys[mid].compareTo(key);if(cmp>0){
high=mid-1;
} else if(cmp<0){
Low=mid-1;
} else {
return mid;
}
}
return -1-mid;
}
}
问题:
a) 请用准确,有意思的名词替换类名 Thing
b) 请找出并修正 void put(String key,Object value)方法中的一个缺陷
c) 请给出 int get(String key)这个方法里用到的算法
d) 请补充完整 void grow(int amount)这个方法
...全文
510 49 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
49 条回复
切换为时间正序
请发表友善的回复…
发表回复
bbk2008 2010-04-18
  • 打赏
  • 举报
回复
也想学学,谢谢
sabflying1 2010-04-17
  • 打赏
  • 举报
回复
学习不错的材料
程老师2088 2010-04-12
  • 打赏
  • 举报
回复
路过 帮顶
dreamer200 2010-04-01
  • 打赏
  • 举报
回复
路过
帮顶一下
linguangfei2007 2010-04-01
  • 打赏
  • 举报
回复
路过,路过,路过
zhucel 2010-04-01
  • 打赏
  • 举报
回复
学习一下
dogfish001 2010-03-31
  • 打赏
  • 举报
回复
路过帮顶
guoyao1 2010-03-31
  • 打赏
  • 举报
回复
学习,学习、、、、
menglei0208 2010-03-31
  • 打赏
  • 举报
回复
1、list
2、for(int i=size-1;i>idx;i--),没有处理i=idx的记录,会导致该记录丢失。同时应该判断,是插入在idx前还是后。
3、折半查找
4、不清楚c#的机制,是要renew呢(好像只有vb支持),还是新建new,把原来的复制过来
如果不允许renew,只能采用新new,将原有的复制过来,在让原有的=null
keys1=keys;
keys = new String [capacity];
values1=values;
values = new Object [capacity];
// 复制内容
keys1 = null;
value1=null;
operatezhang 2010-03-31
  • 打赏
  • 举报
回复
学习一下吧!!!
xiermtv 2010-03-31
  • 打赏
  • 举报
回复
好好学习一下
reppleco 2010-03-31
  • 打赏
  • 举报
回复
不是很懂。。学习学习。。
wanghoujiangxiang 2010-03-31
  • 打赏
  • 举报
回复
学习学习
Jing3_zhang 2010-03-31
  • 打赏
  • 举报
回复
路过,瞅瞅,学习学习,嘿嘿!
zy81428 2010-03-31
  • 打赏
  • 举报
回复
路过!!!学习为主
pingsheng521 2010-03-31
  • 打赏
  • 举报
回复
学习下哦,
hjjhjj201 2010-03-31
  • 打赏
  • 举报
回复
@_@
brisunzhang 2010-03-30
  • 打赏
  • 举报
回复
路过,看不懂
Roonson 2010-03-30
  • 打赏
  • 举报
回复
路过,看不懂
bestboy1 2010-03-30
  • 打赏
  • 举报
回复
学习。
加载更多回复(28)

567

社区成员

发帖
与我相关
我的任务
社区描述
英特尔® 边缘计算,聚焦于边缘计算、AI、IoT等领域,为开发者提供丰富的开发资源、创新技术、解决方案与行业活动。
社区管理员
  • 英特尔技术社区
  • shere_lin
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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