#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
typedef struct node{
int data;
struct node *next;
}Node;
int main()
{
Node * createNode(int n);
Node *createNode2(int n);//声明函数
Node *head,*p;
p=head=createNode(9);
for(int i=0;i<9;i++)
{
printf("%d",p->next->data);// 对于头插法的遍历。
p=p->next;
}
p=createNode2(10);
printf(" 第二轮输出");
while(p->next!=NULL)
{
printf("%d",p->data);//对于未插法的遍历。
p=p->next;
}
system("pause");
return 1;
}
Node * createNode(int n)
{//头插法
Node *L,*head;
int i;
Node *p;
head=L=(Node *)malloc(sizeof(Node));
for(i=0;i<n;i++)
{
p=(Node * )malloc(sizeof(Node));
p->data=i;
L->next=p;
L=p;
L->next=NULL;
}
return head;
}
Node *createNode2(int n)
{//尾插法创建链表
Node *L;
int i;
Node *p;
L=(Node *)malloc(sizeof(Node));
L->next=NULL;
for(int i=0;i<n;i++)
{
p=(Node *)malloc(sizeof(Node));
p->data=i;
p->next=L;
L=p;
}
return L;
}