本题要求实现一个函数,删除顺序表中所有值为x的元素,并返回删除的个数。
函数接口定义:
int Delete2(SqList &S,ElemType x);
解释接口参数:其中S
, x
都是用户传入的参数。 S
是顺序表,有两个成员,一个是elem数组,存放顺序表元素,不特别说明的话元素类型为整型,一个是length(length>=0) ,记录顺序表的长度; x
是指要指给定值,等于该值的元素将被删除。函数返回的值为删除的元素个数(可以为0)。
裁判测试程序样例:
#include<iostream>
using namespace std;
typedef int Status;
#define MAXSIZE 100 //顺序表可能达到的最大长度
typedef int ElemType;
typedef struct {
ElemType *elem; //存储空间的基地址
int length; //当前长度
} SqList;Status InitList_Sq(SqList&L); // 顺序表的初始化,已实现,不用再定义
void CreatList(SqList &L, int n); //创建含有n个元素的顺序表,已实现,不用再定义int Delete2(SqList &S, ElemType x);// 要实现的函数<