第一个:顺序表:(未用ElemType ,全部设为int类型)
#include <stdio.h>
#include <malloc.h>
#define MAX 100
#define ERROR 0
#define TRUE 1
typedef struct
{
intelem[MAX];
int last;
}SeqList;
void InitList(SeqList *L,int e) //建立
{
L->last=e-1;
}
int Insert(SeqList *L,int i,int e) //插入
{
int k;
if((i<1)|| (i>L->last+2))
returnERROR;
if(L->last>= MAX-1)
returnERROR;
for(k=L->last;k>=i-1;k--)
L->elem[k+1]=L->elem[k];
L->elem[i-1]=e;
L->last++;
return TRUE;
}
int Delete(SeqList *L,int i,int *e) //删除
{
int k;
if((i<1)|| (i>L->last+1))
returnERROR;
*e =L->elem[i-1];
for(k=i;k<=L->last;k++)
L->elem[k-1]=L->elem[k];
L->last--;
return TRUE;
}
int Locate(SeqList L,int e) //查找
{
int i=0;
while((i<=L.last)&& (L.elem[i]!=e))
i++;
if(i<=L.last)
returni+1;
else
returnERROR;
}
void menu()
{
printf(" 请第一步建立线性表\n");
printf("*********1、建立线性表***********\n");
printf("**********2、插入**********\n");
printf("**********3、删除**********\n");
printf("**********4、查找**********\n");
printf("**********5、遍历输出********\n");
printf("**********6、退出**********\n");
}
int main()
{
intnum,length,number,location;
int i,e;
int *data;
data=(int*)malloc(sizeof(int));
SeqList *L;
menu();
while(1)
{
printf("请输入你的选择:\n");
scanf("%d",&num);
switch(num)
{
case 1:
L=(SeqList*)malloc(sizeof(SeqList));
printf("请输入线性表的长度:\n");
scanf("%d",&length);
InitList(L,length);
printf("请依次输入线性表的 %d 个值:\n",length);
for(i=0;i<length;i++)