创建双链表

#include <iostream>
#include <stdio.h>
#include <stdlib.h>

using namespace std;
typedef struct node
{
    int data;
    struct node *next;
    struct node *prev;
}LNode,*LinkList;
//使用头插法建立双链表
void CreateLink(LinkList *L,int n)
{
    LinkList s;
    *L =(LinkList)malloc(sizeof(LNode));
    (*L)->prev=(*L)->next=NULL;
    for(;n>0;n--)
    {
        s=(LinkList)malloc(sizeof(LNode));
        scanf("%d",&s->data);
        s->next=(*L)->next;
        if((*L)->next!=NULL) (*L)->next->prev=s;
        (*L)->next=s,s->prev=*L;
    }
}
//使用尾插法建立双链表
void CreateLinkR(LinkList *L,int n)
{
    LinkList p,s;
    p=*L=(LinkList)malloc(sizeof(LNode));
    (*L)->prev=(*L)->next=NULL;
    for(;n>0;n++)
    {
        s=(LinkList)malloc(sizeof(LNode));
        scanf("%d",&s->data);
        s->next=NULL;
        p->next=s, s->prev=p;p=s;
    }
    //p->next=NULL;
}
int main()
{

    return 0;
}

 

©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页