第1个回答 2012-05-06
#include<iostream>
#include<stdio.h>
#include<malloc.h>
using namespace std;
#define MAXSIZE 100
#define OK 1
#define ERROR 0
#define ElemType char
typedef struct Node
{ ElemType data;
struct Node *next;
}Node, *LinkList;
void InitList(LinkList *L)
{ *L=(LinkList)malloc(sizeof(Node));
(*L)->next=NULL;
}
void CreatFromHead(LinkList L)
{ Node *s;
char c;
int flag=1;
while(flag)
{ c=getchar();
if(c!='$')
{ s=(Node *)malloc(sizeof(Node));
s->data=c;
s->next=L->next;
L->next=s;
}
else
flag=0;
}
}
void CreatFromTail(LinkList L)
{ Node *r,*s;
int flag=1;
char c;
r=L;
while(flag)
{ c=getchar();
if(c!='$')
{s=(Node *)malloc(sizeof(Node));
s->data=c;
r->next=s;
r=s;
}
else
{flag=0;
r->next=NULL;
}
}
}
void PrintLinkList(LinkList L)
{ printf("单链表为:L");
LinkList r=L;
while(r->next!=NULL)
{
r=r->next;
printf("->%c",r->data);
}
}
void main()
{ LinkList LA,LB;
InitList(&LA);
InitList(&LB);
CreatFromHead(LA);
PrintLinkList(LA);
char ch1=getchar();
CreatFromTail(LB);
PrintLinkList(LB);
}本回答被网友采纳