输出一个线性表,并对他进行插入、取数、删除的操作。

来源:百度知道 编辑:UC知道 时间:2024/05/22 04:35:31
RT!!!!!!
使用c++数据库结构来解决。写出程序过程。要求简单明了易理解。后面有步骤解释的且可以执行的加分。

作者:12f3210

#include <stdlib.h>
#include <stdio.h>

#define MAXSIZE 100
typedef struct{
char elem[MAXSIZE]; //用于储存线性表中的元素,元素类型为char;
int len; //线性表的当前表长,即elem数组中已经储存多少个char.
}SqList;

int insert_Sq(SqList *L, int i, char c) //参数i:插入的位置(数组elem中的位置),参数c:要插入的值
{
if (i<1 || i>L->len+1) {
printf("\n插入位置不合理!");
return 0; //判断i的值,若小于1或者大于表长加1,则位置不合理
}
if (L->len == MAXSIZE-1) return -1; //若当前表长等于elem的最大储存量减1,则无法插入

for(int j = L->len; j >= i; --j)
{
L->elem[j+1] = L->elem[j]; //插入位置之后的元素依次后移,且应该先移动最后面的元素
}
L->elem[i] = c;
++L->len; //插入新元素后,当前表长应该加1
printf("您成功插入了:%c\n", c);
return 1;
}
int Delete_Sq(SqList *L, int i) //删除elem中位置为i的元素,若能够删除,则后面元素依次左移
{
if (i<1 || i>L->len) return 0; //不合理的位置,无法进行删除
if (L->len == 0) return -1; //线性表