线性表排序插入问题求解

#define _CRT_SECURE_NO_DEPRECATE
#include
#define MAXSIZE 100
typedef int ElemType;
typedef struct
{
ElemType data[MAXSIZE];
int len;
}SqList;

void MergeList_Sq(SqList La, SqList Lb, SqList &Lc)
{
int i = 0, j = 0, k = 0;
while (i {
if (La.data[i] {Lc.data[k] = La.data[i];i++;k++;}
else if (La.data[i]>Lb.data[j])
{Lc.data[k] = Lb.data[j];j++;k++;}
else
{Lc.data[k] = La.data[i];i++;k++;
Lc.data[k] = Lb.data[j];j++;k++;}
}
while (i<La.len)
{Lc.data[k] = La.data[i];i++;k++;}
while (j<La.len)
{Lc.data[k] = Lb.data[j];j++;k++;}
Lc.len = k;
}
void main()
{
SqList La, Lb, Lc;
int i;
printf("please input 10 numbers to La:\n");
for (i = 0; i<10; i++)
scanf("%d", &La.data[i]);
La.len = 10;
printf("please input 10 numbers to Lb:\n");
for (i = 0; i<10; i++)
scanf("%d", &Lb.data[i]);
Lb.len = 10;
MergeList_Sq(La, Lb,Lc);
printf("Lc is: \n");
for (i = 0; i<Lc.len; i++)
printf("%d ", Lc.data[i]);

}

输入:0 1 2 3 4 5 6 7 8 9
5 6 7 8 9 10 11 12 13 14
输出:0 5 1 6 2 7 3 8 4 9 5 10 6 11 7 12 8 13 9 14

为什么每次都是两两比较大小插入?
而不是按照递增序列插入?

http://blog.csdn.net/stulcc/article/details/52537898