单链表建立--头插法 尾插法

参考: 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 }

 

posted @ 2014-09-16 12:33  Flyzhcong  阅读(398)  评论(0编辑  收藏  举报