原题有50分,这个答案有45分,欢迎指出不足 ;)
-
6-2 顺序表基本操作 (50 分)
实现顺序表的基本操作,如初始化、插入、删除、输出等。 注意:顺序表中可有重复元素值。 要求:写出三个基本操作函数ListInsert,ListDelete,ListDeleteElem。
顺序表结构与操作函数接口定义:
typedef char ElemType; typedef struct //定义顺序表结构 { ElemType data[MaxSize]; int length; } SqList; void InitList(SqList *&L); //初始化线性表 void DestroyList(SqList *&L); //销毁线性表 void DispList(SqList *L); //顺序输出顺序表元素值。 bool ListInsert(SqList *&L,int i,ElemType e); //在第i位上插入一个元素e,插入成功时返回true,否则返回false. bool ListDelete(SqList *&L,int i,ElemType &e); //删除第i个结点, 返回删除的元素值e,且删除成功时返回true,否则返回false bool ListDeleteElem(SqList *&L,ElemType e); //删除所有元素值为e的结点,删除成功时返回true,否则返回false
裁判测试程序样例:
#include <stdio.h> #include <malloc.h> #define MaxSize 10000 ty