#include<stdio.h>
#include<stdlib.h>
typedef struct node {
char data;
struct node* next;
}Node;
Node* initlist() {
Node* L = (Node*)malloc(sizeof(Node));
L->data = 0;
L->next = NULL;
return L;
}
Node* InitWithElem(char e) {
Node* L = (Node*)malloc(sizeof(Node));
L->data = e;
L->next = NULL;
return L;
}
void insertElem(Node* L,Node* E) {
Node* p = L;
while (p->next != NULL) {
p = p->next;
p->next = E;
}
}
void insertlist(Node * L, char e) {
Node* p = L;
while (p->next != NULL) {
p = p->next;
}//尾結點
Node* q = (Node*)malloc(sizeof(Node));
q->next = NULL;
q->data = e;
p->next = q;
}
void traval(Node* L) {
Node* p = L;
while (p->next != NULL) {
p = p->next;
printf("%c\n", p->data);
}
}
int main() {
Node* str1 = initlist();
Node* str2 = initlist();
Node* stri = InitWithElem('i');
Node* strn = InitWithElem('n');
Node* strg = InitWithElem('g');
insertlist(str1, 'l');
insertlist(str1, 'o');
insertlist(str1, 'a');
insertlist(str1, 'd');
insertlist(str2, 'b');
insertlist(str2, 'e');
insertElem(str1, stri);
insertElem(str1, strn);
insertElem(str1, strg);
insertElem(str2, stri);
insertElem(str2, strn);
insertElem(str2, strg);
traval(str1);
traval(str2);
return 1;
}
