编写一个类C函数,利用折半查找算法在一个有序表中插入一个元素x,并保持表的有序性。
3个回答
推荐于2018-03-07
展开全部
viod insert_search(int a[ ],int n,elementtype X) //数组时机存放元素个数n应比数组长度小1
{
int low=0, high=n-1, mid,i;
while(low<=high)
{
mid=(low+high)/2;
if ( a[mid]<X) high=mid-1;
else low=mid+1;
}
for(i=n-1;i>=mid;i - -)
a[i+1]=a[i];
a[mid]=X;
}
{
int low=0, high=n-1, mid,i;
while(low<=high)
{
mid=(low+high)/2;
if ( a[mid]<X) high=mid-1;
else low=mid+1;
}
for(i=n-1;i>=mid;i - -)
a[i+1]=a[i];
a[mid]=X;
}
展开全部
有序表应该有sort这个方法。可以重新排序。或者sorded属性。
追问
求具体的类c程序
追答
不会C
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
/*完全手写没调过……用前慎重*/ void insert(int* array, int len, int x){ if(len==0){ /*array元素整体后移*/ *array = x; return; } ,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询