已知长度为n的线性表A中的元素是整数,采用顺序储存结构,删除线性表中所有值为x的数据元素。
答案:1 悬赏:60 手机版
解决时间 2021-01-16 14:15
- 提问者网友:嗝是迷路的屁
- 2021-01-15 13:24
已知长度为n的线性表A中的元素是整数,采用顺序储存结构,删除线性表中所有值为x的数据元素。
最佳答案
- 五星知识达人网友:枭雄戏美人
- 2021-01-15 13:55
#include
#include
#define maxsize 100
typedef struct
{
int *elem;
int length;
}sqllist;
void deletenumber(sqllist *A,int x,int k)
{
int i,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);
}
}
void init(sqllist *A)
{
int i;
int n;
A->elem=(int *)malloc(sizeof(int)*maxsize);
printf("请输入整数n\n");
scanf("%d",&n);
A->length=n;
for(i=0;i {
printf("请输入%d个整数\n",i+1);
scanf("%d",A->elem+i);
}
}
void output(sqllist *A)
{
int i;
printf("顺序表中数值为:\n");
for(i=0;ilength;i++)
printf("%d ",*(A->elem+i));
printf("\n");
}
void main()
{
sqllist *A;
int x;
A=(sqllist *)malloc(sizeof(sqllist));
init(A);
output(A);
printf("请输入准备删除的数值x\n");
scanf("%d",&x);
deletenumber(A,x,1);
output(A);
}
#include
#define maxsize 100
typedef struct
{
int *elem;
int length;
}sqllist;
void deletenumber(sqllist *A,int x,int k)
{
int i,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);
}
}
void init(sqllist *A)
{
int i;
int n;
A->elem=(int *)malloc(sizeof(int)*maxsize);
printf("请输入整数n\n");
scanf("%d",&n);
A->length=n;
for(i=0;i
printf("请输入%d个整数\n",i+1);
scanf("%d",A->elem+i);
}
}
void output(sqllist *A)
{
int i;
printf("顺序表中数值为:\n");
for(i=0;ilength;i++)
printf("%d ",*(A->elem+i));
printf("\n");
}
void main()
{
sqllist *A;
int x;
A=(sqllist *)malloc(sizeof(sqllist));
init(A);
output(A);
printf("请输入准备删除的数值x\n");
scanf("%d",&x);
deletenumber(A,x,1);
output(A);
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯