头歌实训:中位数
任务描述
本关任务:一个长度为L(L≥1)的升序序列S,处在第 ⌈L/2⌉个位置的数称为S的中位数。
例如:若序列S1=(11,13,15,17,19),则S1的中位数是15。
两个序列的中位数是含它们所有元素的升序序列的中位数。例如,若S2=(2,4,6,8,20),则S1和S2的中位数是11。
现有两个等长的升序序列A和B,试设计一个在时间和空间两方面都尽可能高效的算法,找出两个序列A和B的中位数。
编程要求
根据提示,在右侧编辑器补充代码,完成函数ElemType find_median(SqList *A, SqList *B),该函数功能为求两个等长的有序顺序表的中位数并返回。
测试说明
平台会对你编写的代码进行测试:
测试输入:
5
11 13 15 17 19
2 4 6 8 20
预期输出:
11
开始你的任务吧,祝你成功!
源代码:
#include "sqlist.h"
/**
* 求两个等长的有序顺序表的中位数。
*/
ElemType find_median(SqList *A, SqList *B)
{
//请在下面编写代码
/******************Begin******************/
ElemType temp;