其他分享
首页 > 其他分享> > 单链表(头插法和尾插法)

单链表(头插法和尾插法)

作者:互联网

#include <stdio.h>
#include <stdlib.h>
typedef struct node{
    int data;
    struct node *next;
}Node,*LinkList;
//初始化(头插法)
/*bool InitList(LinkList &L){
    L=(LinkList)malloc(sizeof(Node));
    L->next=NULL;
    return true;
}
//插入结点(头插法)
bool InsertNode(LinkList &L,int i){
    Node *N;
    N=(Node *)malloc(sizeof(Node));
    N->data=i;
    N->next=L->next;
    L->next=N;
    return true;
}*/
//初始化(尾插法)
bool InitList(LinkList &L,int x){
    L=(LinkList)malloc(sizeof(Node));//头结点
    LinkList S=L;
    while(x!=999){
    Node *m;
    m=(Node *)malloc(sizeof(Node));
    m->data=x;
    S->next=m;
    S=m;
    scanf("%d",&x);
    }
    S->next=NULL;
    return true;
}
/*bool InitList(LinkList &L,int n){
   L=(LinkList)malloc(sizeof(Node));
    Node *s,*q=L;
    for(int i=0;i<n;i++){
        s=(LinkList)malloc(sizeof(Node));
        s->data=i;
        s->next=s;
        q=s;
    }
    q->next=NULL;

}*/
//删除结点
/*bool DelNode(LinkList L,int i){
    LinkList m=L;
    LinkList q;
    int j;

    for(j=0;j<i-1;j++){
        m=m->next;
    }
    if(i==0){
        L=L->next->next;//删除的是头结点
    }
    else
    {
    q=m->next;
    m->next=q->next;
    free(q);
    }
    return true;
}*/
//遍历
bool travel(LinkList &L){
    LinkList m;
    m=L->next;
    while(m!=NULL){
        printf("%d",m->data);
        m=m->next;
    }
    return true;
}
int main()
{
    int x;
    LinkList L;
    printf("请输入插入的数值:");
    scanf("%d",&x);
    InitList(L,x);
    //InsertNode(L,1);
    //InsertNode(L,2);
    //InsertNode(L,3);
    //DelNode(&L,1);
    travel(L);
    return 0;
}

 

标签:Node,插法,单链,return,int,next,LinkList,bool
来源: https://www.cnblogs.com/Jack-son/p/16461697.html