早教吧 育儿知识 作业答案 考试题库 百科 知识分享

希望哪位仁兄给出完整程序.想好好研究.书上的都是算法,有点摸不着头脑.一个长度为L(L≥1)的升序序列S,处在个位置的数为S的中位数.例如,若序列S1=(11,13,15,17,19),则S1的中位数是15,.两个序列的

题目详情
希望哪位仁兄给出完整程序.想好好研究.书上的都是算法,有点摸不着头脑.
一个长度为L(L≥1)的升序序列S,处在个位置的数为S的中位数.例如,若序列S1=(11,13,15,17,19),则S1的中位数是15,.两个序列的中位数是含它们所有元素的升序序列的中位数.例如,若S2=(2,4,6,8,20),则S1和S2的中位数是11.现有两个等长升序序列A和B,试设计一个时间和空间两方面尽可能高效的算法,找出两个序列A和B的中位数.
▼优质解答
答案和解析
#include "stdio.h"
int search_m(int *a,int *b,int n)
{
int s1,s2,d1,d2,m1,m2;
s1=0;
s2=0;
d1=d2=n-1;
while(s1!=d1||s2!=d2)
{
m1=(s1+d1)/2;
m2=(s2+d2)/2;
if (a[m1]==b[m2])
{
return a[m1];
}
if (a[m1]
看了希望哪位仁兄给出完整程序.想好...的网友还看了以下: