双向链表整表创建时出现问题
#include <stdio.h>
#include <stdlib.h>
//双向链表
#define OK 1
#define ERROR -1
#define TRUE 1
#define FALSE 0
typedef int ElemType;
typedef int Status;
typedef struct {
ElemType data;
struct Node *pre;
struct Node *next;
}Node,*List;
//1. 初始化
Status InitList(List *L){
*L=(List)malloc(sizeof(Node));
(*L)->data=NULL;
(*L)->pre=NULL;
(*L)->next=NULL;
return OK;
}
//2. 整表创建
Status CreateList(List *L,int n){
//创建长度为n的双向链表
int i;
List p,t;
t=*L;//指向L的尾结点
srand(time(0));
for(i=0;i<n;i++){
p=(List)malloc(sizeof(Node));
p->data=rand()%100+1;
p->next=NULL;
p->pre=t;
//先解决要插入结点的前驱及后继问题,再解决前面结点的后继问题,最后尾结点后移
t->next=p;
t=p;
}
return OK;
}
int main()
{
List L,T;
if(OK==InitList(&L)){
p