链表,别名链式存储结构或单链表,用于存储逻辑关系为 "一对一" 的数据。与顺序表不同,链表不限制数据的物理存储状态,换句话说,使用链表存储的数据元素,其物理存储位置是随机的。
要在C语言中创建链表,代码如下:
//单链表的创建 #include<stdio.h> #include<stdlib.h> #define length 10 //链表长度 typedef struct stu{ int num; //数据域 struct stu *next;//指针域 }link; link * creat(){ link *head=(link *)malloc(sizeof(link));//创建头结点,并声明head指针指向头结点 link *temp = head;//历遍链表用的指针,此时指向头结点 for (int i = 1; i <= length;i++){ link *p = (link *)malloc(sizeof(link));//创建新节点 p->num = i;//赋值给新节点的数据域 p->next = NULL;//新节点的next初始化 temp->next = p;//使上一个节点的next指向此新节点 temp = p;//更新temp为指向此节点 } return head;//返回头结点地址 } void display(link *p){ for (int i = 1; i <= length;i++){ printf("%d ",(p->next)->num); p = p->next;//p历遍链表 } } int main(){ link *p = creat(); display(p); getchar(); return 0; }
编译运行,输出:
1 2 3 4 5 6 7 8 9 10
原文:https://www.cnblogs.com/adesoe/p/12846691.html