参考: http://www.cnblogs.com/foreverking/articles/2341399.html
1
typedef int Datatype;
typedef struct node{
Datatype data;
struct node * next;
}Node ,* LinkList;
//头插法
2 LinkList Creatlist2(LinkList head ,int n){
3 head =new Node;// 带头节点的单链表
4 head->next =NULL;
5 LinkList p;
6 for (int i=0;i<n;i++)
7 {
8 p=new Node;
9 cin>>p->data;
10 p->next=head->next;
11 head->next=p;
12 }
13 return head;
14 }
15
16 //头插法不带头节点
17 LinkList CreatList3(LinkList head , int n ){
18
19 for (int i=0;i<n;i++)
20 {
21 LinkList p;
22 p= new Node;
23 cin >>p->data;
24 p->next=head;
25 head=p;
26 }
27 return head;
28 }
29
30 //尾插法
31 LinkList CreatList4(LinkList head,int n){
32 LinkList q,r;// q 上一个节点的指针。r 是新建立的节点的指针
33 for (int i=0;i<n;i++)
34 {
35 if(i==0)
36 {
37 q=new Node;
38 head=q;
39 cin>>q->data;}
40 else
41 r=new Node;
42 cin>>r->data;
43 q->next=r;
44 q=r;
45
46 }
47 }
48
49 //尾插法 头指针处理
50 LinkList CreatList5(LinkList head,int n){
51 LinkList q,r; //q 上一个节点的指针。r 是新建立的节点的指针
52 head=NULL;
53 for (int i=0;i<n;i++ )
54 {
55 r=new Node;
56 cin>>r->data;
57 if(head==NULL)
58 {head =r;
59 q=r;}
60 else
61 q->next =r;
62 q=r;
63 }
64 }