1.链表数据类型
typedef struct LNODE{
int data;
struct LNODE *next;
}LNODE,*LinkList;
指向结构体的指针。通过指针操作,来申请空间,插入数据,输出数据,释放空间。
2.创建链表
bool CreatList(LinkList &L)
{
LNODE *P; int x;
L = (LinkList)malloc(sizeof(LNODE));
L->next = NULL;
scanf("%d", &x);
while (x!=0)
{
P = (LNODE *)malloc(sizeof(LNODE));
P->data = x;
P->next = L->next;
L->next = P;
scanf("%d", &x);
}
return true;
}
基本想法:写成布尔型,操作成功后返回true,函数的主要操作是申请空间,插入数据,头插法,
P->next = L->next;
L->next = P;
每个数据的指针指向前一个数据的next,此时插入的数据在头部。此时的运算结果
也可以用尾插法,
while (x!=0)
{
P = (LNODE *)malloc(sizeof(LNODE));
P->data = x;
r->next=P;
s=P;
scanf("%d", &x);
}
此时的主要想法是有个指针r指向最后一个节点(也就是当前插入的元素),在尾部进行插入操作。此时的数据
3.