设计一个算法,随机生成一个有20个元素的顺序表L 元素是小于100的整型数据 将L中小于50的放在顺序表的前半部分,大于等于50的放后半部分 要求:写出顺序表头文件

表B的头文件要怎么定义呢?

算法思想:建立一个只存放20的数据的表L 借用Random(100)函数给表随机赋值 对表L数据进行依次比对,将表L中所有大于50的都放在顺序表的前半部分,而这个顺序表中小于等于50的都放进B表里 之后再将表B连接到顺序表L的后半部分。

int i,j,count;
for(i=0;i<20;i++){
  L.data[i]=random(100);
}
for(i=0;i<20;i++){
    if(L.data[i]<50)                     //把顺序表L中小于50的放进L的前半部分
         L.data[k++]=L.data[i];
   else
        for(j=0; ; j++)
           B[j]=L.data[i];           //把顺序表L中大于等于50的放进B
}
for(count=0;count<j;count++)     //将B表连接到顺序表L的后半部分
L.data[k++]=B[j];

我的解答思路和尝试过的方法

建立B表这么写可以吗?还需要补充什么? 还想让大家帮忙康康这部分写的对不对 或者还有什么别的更好有容易懂的思想嘛
B=(int * )malloc(sizeof(int)*n);