早教吧作业答案频道 -->其他-->
设顺序表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是一个递增有序表。...的网友还看了以下:
已知按a,b,c,d的顺序入栈,出栈顺序任意,请写出可能的出栈序列有会做的吗 2020-05-17 …
船员孙某因为海难事故下落不明已满5年,此时可以申请宣告其死亡的第一顺序的利害关系人是( )。A. 2020-05-30 …
桌球入球顺序入球顺序 2020-06-08 …
有6个元素按1.2.3.4.5.6的顺序入队,不可能的出队序列有(多选)A234165B43125 2020-06-28 …
英语书面表达开运动会的通知谢谢学校将于2010年9月28到29日在校操场举行运动会,八点钟举行开幕 2020-07-04 …
排列以下国家被德国占领的时间顺序①比利时②丹麦③法国④挪威⑤卢森堡⑥荷兰[]A.②④⑤⑥①③B.①② 2020-11-11 …
复杂的体系中,研究化学反应的先后顺序有利于解决问题。下列物质或微粒参与反应先后顺序判断正确的是[]A 2020-12-04 …
下侧漫画《睁眼瞎》告诉我们要①加强道德建设,增强人们公德意识②传承助人为乐、尊老爱幼、与人为善的传统 2021-01-09 …
下列各句中,没有语病的一句是()A.历届奥运会都是以举办国家的字母表顺序确定开幕式入场顺序。1988 2021-01-19 …
下列各句中,没有语病的一句是A.历届奥运会都是以举办国家的字母表顺序确定开幕式入场顺序。1988年汉 2021-01-19 …