永发信息网

观察下面的算法,此算法完成如下功能:在非递减有序表中删除所有值为X的元素

答案:2  悬赏:0  手机版
解决时间 2021-05-16 04:18
观察下面的算法,此算法完成如下功能:在非递减有序表中删除所有值为X的元素。问:如何改进此算法,使得算法效率提高?
void Deletaz(ElemType x)
{ int i=0,j;
while (i<length&& elem[i]<x) i++;
if(i==length) cout<<”X不存在”<<endl;
else{ while(elem[i]==x)
{ for(j=I;j<length;j++) elem[j]=elem[j+1];
length--;
}
}
}
求求哪位高手帮帮我!本人刚刚学数据结构啊!!
最佳答案
2的指数折半查找只要用Log2 N次就够了 如果8个元素只要查找 3次,不用你上面的方法查找8次.
删除后把后面的几个往前拖,也可以用指针,这样还要快,删除指针链接一下就OK
int checkX(ElemType x,int &i) {
int left=0,right=length;
i=length/2;
if(x>elem[i]){
right=i;
}else {
left=i;
}
i=(left+right)/2;
}
if((left==right)&& (x!=elem[i]))
cout<<”X不存在”<<endl;
break;
}
全部回答
楼上的算法是改进了,不过同样忽略了一种情况:==X的元素不止1个的时候就有所遗漏了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁能给我解释一下,为什么我把灯管从灯罩拿下
求助兰州朋友
Explain the words in English:sorrow [’s&#
000638停盘的信息是利好还是利空???
电脑为什么老是会自动重起?
摩托罗拉l7有wap2.0吗?
郊区佳木斯宏业嘉园售楼处怎么去啊,谁知道地
越冷压力越大哪对身体的压力是不是也越大哪
怎样开一间成功的汽车美容装饰店?
诺基亚N70出现储存卡已损坏
WOW怎么去东拥湖?
西北民族大学2010艺术类研究生学费
朋友走着就淡了的句子,我们的关系仅仅因那句
论述电话访问的主要优点
开福区北大青鸟长沙实力授权培训中心这个地址
推荐资讯
谁知道沈阳工程学院缺额没有?
什么叫肉吃女时代?
安妮宝贝的作品下载地址?
描写小木屋唯美句子,穷人中描写小屋环境的句
全世界那首歌叫什么名
韶山市湘潭毛家饭店(韶山店)这个地址怎么能查
男孩到底是什麽样的个人?
二又十分之三、七十又八分之五、五、十二又三
卡停机了还能知到用户名吗
人生是怎样走的未来
QQ三国里的宝宝为什么放鉴天符也没有五至尊..
Q吧回帖的时候截图怎么上传不了啊?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?