高手们,帮忙编个程序

来源:百度知道 编辑:UC知道 时间:2024/07/04 10:38:49
函数调用方式实现建立线性表及线性表的各项功能
Struct List
{
ET alist[MaxSize];
int size;
};//一旦定义一个struct List这样的数据结构名称与类型,那么在你的程序里,struct List就象int 一样的意义了
typedef char ET;//定义一个宏,用ET代表数据类型char ,这样若要改变数据类型,只需改动这一个地方就可以了。
实现七个函数:
1)置空表:void setnull(struct List *p)
2) 求长度:int length(struct List *p)
3)取表中第i个结点:ET get (struct List *p,int i)
4)按值查找:int locate(struct List *p,ET x)
5)插入结点:void insert(struct List *p,int i,ET x)
6)删除结点:void delete(struct List *p,int i)
7)显示链表:void display(struct List *p)
这样可以直接调用这七个函数来实现顺序表的操作,如实现在屏幕上显示如下内容:(就是说,每个动作都应该在屏幕上有提示)
我的顺序表为:d-> e->a->c->a->b
值为a在表中的位置为:3
位置4的值为:c
删除第二个结点后顺序表:d-> a->c->a->b
删除第二个结点后顺序表:d-> c->a->b
删除第1个结点后顺序表: c->a->b
删除第1个结点后顺序表: a->b

最好用c,c++也行,其他语言不行
这就是问题,具体什么意思我也看不明白,希望高手解答
大哥,虽然很想给你分,但是我用我的软件编译时有错误

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

typedef int ET;
#define MaxSize 256

typedef struct _MyList
{
ET alist[MaxSize];
int size;
} MyList;

void setnull(struct _MyList *p)
{
p->size = 0;
}

int length(struct _MyList *p)
{
return p->size;
}

ET get (struct _MyList *p,int i)
{
i--;

if (i < 0 || i >= p->size)
{
return -1;
}
return p->alist[i];
}

int locate(struct _MyList *p,ET x)
{
int i;

for (i = 0; i < p->size; i++)
{
if (p->alist[i] == x)
{
return i + 1;
}
}
return -1;
}

void insert(struct _MyList *p,int i,ET x)
{
if (p->size == MaxS