问题描述:给出两个有序顺序表求两表的中位数
前言:本人看王道上面的算法太过复杂,于是自己乱想出来一种算法,经测试暂时没有发现错误,若有大神找到不足之处,还望纠正!
- 算法思想
对两表A B从头开始扫描,并设置两个指针pa,pb分别指向A B表首
1)若pa指向的元素小于或等于pb指向的元素则pa+1,否则pb+1
2)重复上述步骤天花板n次(n为一个表中的总元素个数)
3)取min=min(A[pa],B[pb]),得到的数即为两表的中位数
- 关键代码
int Mid(int a[],int b[],int n){
if(n<=0)
return -1;
int i=0