#include <stdio.h>
#include <stdlib.h>
#define MAXSIZE 20
//定义结构体
typedef struct sqlist{
int *data;
int length;
}Sqlist;
//创建线性表
void creatList(Sqlist &L){
//开辟一个大小为 MAXSIZE 的空间
L.data = (int *)malloc(sizeof(int) * MAXSIZE);
//判断开辟是否成功
if (!L.data){
printf("ERROR\n");
} else {
printf("ok\n");
}
printf("please input length\n");
//输入线性表长度
scanf("%d", &L.length);
//循环输入线性表中的值
for (int i = 0 ; i < L.length; i ++){
scanf("%d", &L.data[i]);
}
}
//遍历输出线性表
void TraveList(Sqlist &L){
for (int i = 0 ; i < L.length; i ++){
printf("%2d", L.data[i]);
}
}
//删除表中所有值为e的元素
void deletList(Sqlist &L, int e){
//count计数记录有多少值符合规定
int count = 0;
//如果L中的值不为e则将其放入线性表中,负责不录入
for (int i = 0 ; i < L.length ; i ++){
if (L.data[i] != e){
L.data[count ++] = L.data[i];
}
}
//将表长变为count,表示未被删除的所有元素的个数
L.length = count;
}
int main(){
Sqlist L;
int n;
creatList(L);
TraveList(L);
printf("\n");
printf("what do you want delet?\n");
scanf("%d", &n);
deletList(L,n);
printf("\n");
TraveList(L);
}
顺序表删除所有值为e的元素
最新推荐文章于 2022-10-29 10:08:29 发布
4207

被折叠的 条评论
为什么被折叠?



