问题标题:
【已知长度为n的线性表A中的元素是整数,采用顺序储存结构,删除线性表中所有值为x的数据元素.要完整程序~】
问题描述:
已知长度为n的线性表A中的元素是整数,采用顺序储存结构,删除线性表中所有值为x的数据元素.
要完整程序~
李海波回答:
#include
#include
#definemaxsize100
typedefstruct
{
int*elem;
intlength;
}sqllist;
voiddeletenumber(sqllist*A,intx,intk)
{
inti,j;
if(k!=A->length)
{
for(i=0;ilength;i++)
{
if(*(A->elem+i)==x)
{
for(j=i;jlength-1;j++)
{
*(A->elem+j)=*(A->elem+j+1);
}
A->length--;
k=i;
break;
}
}
deletenumber(A,x,k);
}
}
voidinit(sqllist*A)
{
inti;
intn;
A->elem=(int*)malloc(sizeof(int)*maxsize);
printf("请输入整数nn");
scanf("%d",&n);
A->length=n;
for(i=0;ielem+i);
}
}
voidoutput(sqllist*A)
{
inti;
printf("顺序表中数值为:n");
for(i=0;ilength;i++)
printf("%d",*(A->elem+i));
printf("n");
}
voidmain()
{
sqllist*A;
intx;
A=(sqllist*)malloc(sizeof(sqllist));
init(A);
output(A);
printf("请输入准备删除的数值xn");
scanf("%d",&x);
deletenumber(A,x,1);
output(A);
}
点击显示
其它推荐