顺序表 | 根据两个有序表查找合并后的中位数

Posted TQCAI

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了顺序表 | 根据两个有序表查找合并后的中位数相关的知识,希望对你有一定的参考价值。

王道 P18 T11 :

写的O(n)的代码:

int get_midNum_of_mergedList(int a[],int an,int b[],int bn){
    int mid=(an+bn)/2-1;
    int i,j,k;
    for(i=0,j=0,k=0;i<an && j<bn;k++){
        if(a[i]<b[j]){
            if(k==mid) return a[i];
            i++;
        }else{
            if(k==mid) return b[j];
            j++;
        }
    }
    while(i<an){
        if(k==mid) return a[i];
        i++,k++;
    }
    while(j<bn){
        if(k==mid) return b[j];
        j++,k++;
    }
}

 

以上是关于顺序表 | 根据两个有序表查找合并后的中位数的主要内容,如果未能解决你的问题,请参考以下文章

将两个顺序存储的有序表合并成一个有序表

Leetcode数据结构算法题合并两个有序数组(顺序表篇)

c语言实现两个顺序表的合并

合并两个有序单链表

合并两个有序单链表

剑指offer 17:合并两个有序链表