資料結構 C語言 嚴蔚敏版 演算法2.1
阿新 • • 發佈:2019-02-19
//已知線性表La和Lb的資料元素按值非遞減有序排列,現要求將La和Lb歸併為一個新的線性表Lc,且Lc中的資料元素仍按值非遞減有序排列。
#include <stdio.h>
#include <stdlib.h>#include <math.h>
int main()
{
int i=0,j=0,k=0,La_len,Lb_len,Lc_len;
char La[]={3,5,8,11};
char Lb[]={2,6,8,9,11,15,20};
La_len=sizeof(La);//sizeof 多用於字元型陣列
Lb_len=sizeof(Lb);
char Lc[La_len+Lb_len-1];
while((i<La_len)&&(j<Lb_len)){
if(La[i]<=Lb[j])//因為變數i,j 才能實現此演算法
{Lc[k]=La[i];
i++;
}
else
{Lc[k]=Lb[j];
j++;
}
k++;
}
while (i<La_len){
Lc[k]=La[i];
k++;
i++;
}
while (j<Lb_len){
Lc[k]=Lb[j];
k++;
j++;
}
Lc_len=sizeof(Lc);
for(k=0;k<=Lc_len;k++)
printf("%d,",Lc[k]);
return 0;
}