王道书P18 T7(静态顺序表实现)

/**
 * 用顺序表实现 王道P18 T7
 *
 * ①算法思想:
 * 归并
 *
 * ②数据结构:
 * typedef struct{
 *     int data[MaxSize];
 *     int length;
 * }SqList;
 *
 * ③算法设计
 */
#include 
#define MaxSize 100
typedef struct{
    int data[MaxSize];
    int length;
}SqList;

SqList Merge(SqList &L1,SqList &L2){
    SqList L;//空间复杂度不高效,为O(n)
    int i = 0,j = 0,k = 0;
    while(i < L1.length && j < L2.length){//当两个顺序表都没有结束时
        if(L1.data[i] < L2.data[j])//此处是两个递增的合成一个递增的,如果是两个递减的合成一个递减的只要把<改成>即可
            L.data[k++] = L1.data[i++];
        else
            L.data[k++] = L2.data[j++];
    }
    while(i < L1.length)
        L.data[k++] = L1.data[i++];
    while(j < L2.length)
        L.data[k++] = L2.data[j++];
    L.length = k;
    return L;
}

你可能感兴趣的:(王道书第二章综合应用题,数据结构,算法)