单链表的定义和使用(例子)与单链表的基本操作与实现
存储学生学号、姓名、成绩的单链表结点类型定义:
typedef Struct{ char num[8]; //数据域 char name[8]; //数据域 int score; //数据域 }Elem Type; typedef struct Lnode{ ElemType data; //数据域 struct Lnode *next; //指针域 }
单链表的基本操作:
初始化(创建一个空表)
status InitList_L(LinkList &L){ L = new Lnode; //生成一个新节点作头结点,用头指针L指向头结点,L为指针变量 L->next=NULL; //将头结点的指针域置空 return ok; }
判断链表知否为空(只需判断链表的指针域是否为空即可)
int ListEmpty(LinkList){ if(L->next) return 0; //非空 else return 1; }
单链表的销毁:(是将所有的结点包括头指针全部销毁,不存在)
Status DESTROYlist_L(LinkList &L){ //销毁单链表L Lnode *p; //定义指针变量,用于指向要销毁的结点 while(L){ //因为要一个结点一个结点的移动,所以要借助循环来移动 p=L; //让指针P指向L当前所指向的结点 L=L->next; delept p; } return OK; //删除完毕 }
清空链表 不啦不啦 。。。。搜搜吧,不想敲了
指针指向头结点 使用 P=L;语句
指针指向首元结点 使用 P = L->next;语句
p指向下一结点: p=p->next;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!