1.生成一个单链表
2.输出结点的值
typedef struct LNode{
int key;
struct LNode *next;
}LNode,*List;
//正序生成单链表
void CreateList1(List &L,int n){
L=(List)malloc(sizeof(LNode));
L->next=NULL;
LNode *q=L;
for(int i=1;i<=n;i++)
{
LNode *p=(LNode *)malloc(sizeof(LNode));
scanf("%d",&p->key);
q->next=p;
q=p;
p->next=NULL;
}
return;
}
//逆序生成单链表
void CreateList2(List &L,int n){
L=(LNode *)malloc(sizeof(LNode));
L->next=NULL;
for(int i=0;i<n;i++)
{
LNode *p=(LNode *)malloc(sizeof(LNode));
scanf("%d",&p->key);
p->next=L->next;
L->next=p;
}
return;
}
//正序输出链表print1
void Print1(List L){
LNode *p=L->next;
while(p!=NULL)
{
printf("%d",p->key);
p=p->next;
}
}
//逆序输出单链表(递归法)print2
void Print2(List L){
if(L->next!=NULL