考研题求大佬助!!!
本帖最后由 YUc787844035 于 2019-8-7 17:56 编辑线性表(a1,a2,...,an)中元素递增有序且按顺序存储于计算机内的数组a中。要求设计一算法用函数实现下列功能:
(1) 用最少时间在表中查找值为x的元素;
(2) 若找不到则将其插入表中使其表中元素仍然递增有序 void search_exchangeinsert(int sqlist[];int length;int x)
{
int low=0,high=length-1,mid;
while(low<=high)
{
mid = (low+length)/2;
if(sqlist==x)
break;
else if(sqlist<x)
low = mid+1;
else
high = mid-1;
}//查找成功
if(low>high)
{
for(int p=length;p>=high;p--)
{
sqlist = sqlist;
}
sqlist = x;
}
}
我这个算法有问题吗。
感谢大佬们 YUc787844035 发表于 2019-8-7 17:57
我这个算法有问题吗。
感谢大佬们
我这是写试卷上 不在电脑运行 可以这么写吗 本帖最后由 micolar 于 2019-8-7 19:56 编辑
没问题吧 只是数组长度有限的话 你新加入的会不会超过数组
micolar 发表于 2019-8-7 19:53
没问题吧 只是数组长度有限的话 你新加入的会不会超过数组
那改成int函数
if(length>=maxsize)
return 0;
页:
[1]