谁能帮我解答一下(不能解答的问题)??
能不能给我帮我把这个程序修改一下 内容就是单链表插入 删除,
初始构表从一到十的位置依次是 a,b,c,d.....直到十个字母
然后插入的内容必须是字母
有大侠能帮我么?我想知道到底这里有没有高手啊
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
typedef int Boolean;
typedef int ElemType;
struct LNode
{
ElemType data;
struct LNode *next;
};typedef struct LNode *LinkList;
Status InitList(LinkList *L)
{
*L=(LinkList)malloc(sizeof(struct LNode));
if(!*L)
exit(OVERFLOW);
(*L)->next=NULL;
return OK;
}
Status ListInsert(LinkList L,int i,ElemType e)
{
int j=0;
LinkList p=L,s;
while(p&&j <i-1)
{
p=p->next;
j++;
}
if(!p||j>i-1)
return ERROR;
s=(LinkList)malloc(sizeof(struct LNode));
s->data=e;
s->next=p->next;
p->next=s;
return OK;
}
Status ListDelete(LinkList L,int i,ElemType *e)
{
int j=0;
LinkList p=L,q;
while(p->next&&j <i-1)
{
p=p->next;
j++;
}
if(!p->next||j>i-1)
return ERROR;
q=p->next;
p->next=q->next;
*e=q->data;
free(q);
return OK;
}
Status ListTraverse(LinkList L,void(*vi)(ElemType))
{
LinkList p=L->next;
while(p)
{
vi(p->data);
p=p->next;
}
printf("\n");
return OK;
}
void print(ElemType c)
{
printf("%c",c);
}
void main()
{
LinkList La;
Status k;
int i,m;
char j;
k=InitList(&La);
if(k==1)
{
for(i=1;i <=10;i++)
ListInsert(&La,i,98+i);
printf("La= ");
ListTraverse(La,print);
}
}