早教吧作业答案频道 -->其他-->
设顺序表L是一个递增有序表。编写算法,要求利用二分查找法确定插入位置,将元素x插入到L中,使L保持有序(1)描述算法的基本设计思想:(2)描述算法的详细实现步骤(使用C或C++或Ja
题目详情
设顺序表L是一个递增有序表。编写算法,要求利用二分查找法确定插入位置,将元素x插入到L中,使L保持有
序(1)描述算法的基本设计思想:
(2)描述算法的详细实现步骤(使用C或C++或Java语言实现)。
序(1)描述算法的基本设计思想:
(2)描述算法的详细实现步骤(使用C或C++或Java语言实现)。
▼优质解答
答案和解析
int BinarySearch(int array[],int length,int elem) // 二分查找插入位置
{
int low=0;
int high=length-1;
int mid=0;
while(low<=high)
{
mid=low+((high-low)>>1);
if(array[mid]==elem)
return mid+1;
else if(array[mid]>elem)
high=mid-1;
else
low=mid+1;
}
return low;
}
void insert(int L[],int length, int elem,int capacity) //在L相应位置插入元素x的算法
{
if(NULL==L||length<=0||capacity return;
int index=BinarySearch(L,length,elem);
for(int i=length;i>index;i--)
{
L[i]=L[i-1];
}
L[i]=elem;
return;
}
{
int low=0;
int high=length-1;
int mid=0;
while(low<=high)
{
mid=low+((high-low)>>1);
if(array[mid]==elem)
return mid+1;
else if(array[mid]>elem)
high=mid-1;
else
low=mid+1;
}
return low;
}
void insert(int L[],int length, int elem,int capacity) //在L相应位置插入元素x的算法
{
if(NULL==L||length<=0||capacity
int index=BinarySearch(L,length,elem);
for(int i=length;i>index;i--)
{
L[i]=L[i-1];
}
L[i]=elem;
return;
}
看了 设顺序表L是一个递增有序表。...的网友还看了以下:
设顺序表L是一个递增有序表。编写算法,要求利用二分查找法确定插入位置,将元素x插入到L中,使L保持 2020-05-13 …
t℃水的离子积为KW该温度下将a mol·L-1一元酸HA与b mol·L-1一元碱BOH等体积混 2020-05-16 …
如图所示,一根铁棒在水平拉力F的作用下,以O点为转轴,由竖直逆时针匀速转向水平位置的过程中,动力F 2020-06-07 …
某反应A+2B==C,经2min后,C的浓度由0.05mol/L增大到2.55mol/l,则用B的 2020-06-12 …
如下图所示,一根重木棒在水平动力(拉力)F的作用下以O点为轴,由竖直位置逆时针匀速转到水平位置的过 2020-07-04 …
如图,一根重木棒在水平动力(拉力)F的作用下以O点为轴,由竖直位置逆时针匀速转到水平位置的过程中, 2020-07-04 …
已知函数f(x)=a的x方+x的平方-xlna(a>0且a不等于1)(1)当a>1时,求证:函数f 2020-07-16 …
Java几何算法,斜着的0,1,2,3,4,5递增递减可以看成坐标系中,对于水平的递增L[]={0 2020-07-19 …
公式方程1/(x-1)+l/(x-1)-x/(x+1)=0有增根x=1,则k的值为公式方程1/(x 2020-08-02 …
在6份0.01mol・L-1氨水中分别加入下列各物质(填字母):能使[OH-]和[NH]都减小的是纯 2020-11-10 …