sqlist la,lb,lc; // la,lb,lc是线性表
initial(la);
initlist(lb);
initlist(lc);
int i;
for(i=0;i<la.length;i++)
{if(i%2==0) insert(lb,i/2,la.list[i]); //奇数位插入lb
else insert(lc,i/2,la.list[i]);} //偶数位插入lc
printf("\n您输入的线性表元素为:\n\n");
print(la);
printf("线性表的奇数位次的元素为:\n\n");
print(lb);
printf("线性表的偶数位次的元素为:\n\n");
print(lc);
}
void initial(sqlist &v)
{
int i,a;
printf("请输入一个偶数作为线性表的长度:\n\n");
scanf("%d",&a);
while(a%2!=0)
{printf("您输入的数是奇数,请重新输入一个偶数:\n\n");
scanf("%d",&a);}
v.length=a;
printf("\n请输入线性表元素:\n\n");
for(i=0;i<v.length;i++)
scanf("%c",&v.list[i]); //对la进行赋值
}
void initlist(sqlist &v) //构造一个空的线性表
{
v.elem=(char)malloc(max*sizeof(char));
v.length=0;
}
void insert(sqlist &v,int j,char c)
{
v.list[j]=c; //插入c
v.length++;
}
void print(sqlist v)
{
int i;
for(i=0;i<v.length;i++)
{printf("%c",v.list[i]);} //输出线性表元素
printf("\n\n");
评论0
最新资源