结构体的定义
struct LinkNode
{
int element;
LinkNode* next;
};
完成对结构体的定义,需要包含要存储的元素,以及指向下一个结构体的指针。
这个结构体可以看做包含两种属性,一个是需要保存的元素(int element),另一个部分是需要指向下一个元素的指针(Linknode* next),p->next调用该结构体的指针属性,可以对其进行修改。
链表的生成
- 创建孤立结点
p = new LinkNode();
p->element=x;//如果是值,用. 如果是地址,用->;
- 将结点缀在前继结点的后面
while (x != -1) {
p = new LinkNode();
p->element=x;//如果是值,用. 如果是地址,用->;
p->next = head->next;
head->next = p; //将p这个指针交给head的next,使head的next指向链表的第一个元素; head->next 类似于 pos.x 调用head中的next属性;
printf("Please enter a number:");
scanf_s("%d", &x);
}
链表的访问
p = head;
while (p->next != NULL) {
printf("%d\t", p->next->element);// p的下一个结构体中的element元素
p=p->next;
}