抱歉,没看到你已经初始化了#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
typedef int DataType;
typedef struct Node
{
DataType data;
struct Node * next;
}LinkList;
LinkList *createHeadList(LinkList*L,int num)//头插法建立单链表
{ LinkList *s;
int i=1;
while(i<num)
{
s=(LinkList*)malloc(sizeof(LinkList));
s->data=i;
s->next=L->next;
L->next=s;
++i;
}
L->data=num;
return L;
}
/*
LinkList *createTailList(LinkList *L,int num)//尾插法建立单链表
{
LinkList *s,*r;
int i=0;
L=r=NULL;
while(i<num)
{
s=(LinkList*)malloc(sizeof(LinkList));
s->data=i;
s->next=NULL;
r->next=s;
++i;
}
L->data=num;
return L;
}
*/
LinkList *addElement(LinkList *L,DataType e,int i)//单链表增
{
LinkList *s;
int count=0;
if(i<0||i>L->data)
printf("不能插入数据");
while(count<i)
{
L=L->next;
++count;
}
s=(LinkList*)malloc(sizeof(LinkList));
s->data=e;
s->next=L->next;
L->next=s;
++L->data;
return L;
}
DeleteElement(LinkList *L,int i)//单链表删
{
LinkList *p;
int count=0;
if(i<0||i>L->data)
return 0;
while(count<i)
{
p=L;
L=L->next;
++count;
}
p->next=L->next;
free(L);
--L->data;
return true;
}
LinkList *FindElement(LinkList *L,DataType e)
{
LinkList *p=L->next;
while(p && p->data!=e)
p=p->next;
return p;
}
int main()
{
//LinkList createHeadLinkList(LinkList *L,int);
LinkList *L=(LinkList*)malloc(sizeof(LinkList));
L->next=NULL;
createHeadList(L,100);
printf("%d",L->next->data); // 应该是%d啊
return 0;
}
|