从顺序表L中删除所有值为x的元素

本文介绍了一个使用C语言实现的简单线性表结构,并演示了如何创建线性表、显示线性表内容以及删除线性表中特定值的所有实例。通过具体的代码示例,读者可以了解基本的数据结构概念及其实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#include <stdio.h>
#define MAXSIZE 100
typedef struct
{
int elem[MAXSIZE];
int last;
}SeqList;
int creat(SeqList &L)
{
int a;
printf("请输入要创建的元素的个数:\n");
scanf("%d", &a);
L.last=0;
for (int i = 0;i<a;i++)
{
printf("请输入第%d个元素\n", i + 1);
scanf("%d", &L.elem[i]);
L.last++;
} 
return L.last;
}
void show(SeqList L)
{
int i;
printf("creat last=%d\n", L.last);
printf("线性表中的元素为:\n");
for (i = 0;i<L.last;i++)
printf("%d\n", L.elem[i]);
printf("\n");
}


void delx(SeqList *L, int x)   //删除所有值为x的元素
{
int i = 0;
int j = 0;
while (i <= L->last)
{  
if (L->elem[i] != x)
{
L->elem[j] = L->elem[i];
i++;
j++;
}
else i++;
}
L->last = j - 1;
printf("creat last=%d\n", L->last);


}


void main()
{
SeqList L;
int a,i,length;
L.last=creat(L);
show(L);
printf("请输入删除的数值:\n");
scanf("%d", &a);
delx(&L, a);
printf("删除后的线性表为:\n");
for (i = 0;i < L.last;i++)
printf("%d\n", L.elem[i]);
}

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值