数据结构与算法一严格升序的整型数组A,元素个数为n。现将其前k(0≤k≤n)个元素整体移动到数组后面,得到数组B,使B数

数据结构与算法
一严格升序的整型数组A,元素个数为n。现将其前k(0≤k≤n)个元素整体移动到数组后面,得到数组B,使B数组的前n-k个元素恰好是A数组的后n-k个元素,B数组的后k个元素恰好是A数组的前k个元素,且前后两部分的内部升序仍保持不变。请设计一个算法在B数组中查找某个给定元素value。算法设计在函数searchValue中,函数头可采用searchValue(int B[ ], int value)。那么你设计的高效算法的时间复杂度是
幸运星777 1年前 已收到1个回答 举报

jasonchou 幼苗

共回答了19个问题采纳率:84.2% 举报

#include
swap(int *a,int *b,int n,int k)
{
int temp,j;
for(temp=0,j=0;tempif(k*b++ =a[k++];
else
*b++ =a[j++];
}
int searchValue(int B[ ], int value)
{
int i=0;
while(1)
if(value==B[i++]&&i<1000)
return i;
}
int main()
{
int a[5]={1,2,3,4,5};int b[5];
int i;
swap(a,b,5,2);
for(i=0;i<5;i++)
printf(" %d",a[i]);printf("n");
for(i=0;i<5;i++)
printf(" %d",b[i]);
i=searchValue(b,4);
printf("n %d",i);
getch();
}

1年前

3
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.029 s. - webmaster@yulucn.com