AI训练数据集供应商怎么选?合规图片视频数据集供应商推荐 - 品牌2026
2025/12/19 17:39:38
typedefstructLNode{intdata;structLNode*next;}LNode,*LinkList;rear初始指向头节点;next指向新节点;rear更新为新节点;展示核心代码,逐行解析关键逻辑:
// 尾插法创建链表(n为元素个数)voidCreateList_Tail(LinkList*L,intn){InitList(L);// 初始化空链表(头节点)LNode*rear=*L;// 尾指针初始指向头节点for(inti=0;i<n;i++){LNode*p=(LNode*)malloc(sizeof(LNode));// 新建节点if(p==NULL){// 新增:内存分配失败处理printf("内存分配失败!\n");return;}scanf("%d",&p->data);// 输入数据p->next=NULL;// 新节点作为表尾,指针域置空rear->next=p;// 原尾节点链接新节点rear=p;// 尾指针更新}}rear的作用:避免每次找表尾遍历链表,提升效率;p->next = NULL:保证最后一个节点指针域为NULL(表尾标志);// 表头插入元素eboolInsertHead(LinkList L,inte){LNode*s=(LNode*)malloc(sizeof(LNode));if(s==NULL)returnfalse;// 内存分配失败处理s->data=e;s->next=L->next;// 新节点链接原首元节点(先链)L->next=s;// 头节点链接新节点(后断)returntrue;}// 表中第i个位置插入eboolListInsert(LinkList L,inti,inte){LNode*p=L;intj=0;// 找第i-1个节点while(p!=NULL&&j<i-1){p=p->next;j++;}if(p==NULL)returnfalse;// i越界LNode*s=(LNode*)malloc(sizeof(LNode));if(s==NULL)returnfalse;// 内存分配失败处理s->data=e;s->next=p->next;// 先链:新节点接后续p->next=s;// 后断:前驱接新节点returntrue;}单向链表核心操作 1. 节点定义: struct LNode {int data; struct LNode *next;} 2. 尾插法建表: - 尾指针rear初始→头节点 - 新节点→rear->next,rear→新节点 - 内存分配失败需处理 3. 插入操作: → 原则:先链后断 表头插入:s->next=L->next → L->next=s(O(1),逆序) 表中插入:找i-1前驱→s->next=p->next → p->next=s(O(n)) 尾插法:借助尾指针(O(1),顺序)| 时间 | 教师活动 | 学生活动 | 设计意图 |
|---|---|---|---|
| 0:00-0:30 | 导入:举手机相册“批量导入保持顺序”问题,关联链表尾插需求 | 30 s 抢答:数组扩容代价 | 情境引入→引出尾插法需求 |
| 0:30-2:00 | 模型:手绘head→A→B→NULL的链表结构,展示尾指针作用 | 一人上台贴“尾指针”标签 | 具象化模型→抽象指针概念 |
| 2:00-4:00 | 算法:边画边写尾插法伪代码(初始化→新建节点→链接→更新尾指针) | 跟读并口播“循环结束条件” | 先梳理逻辑→再落地代码 |
| 4:00-6:00 | 代码:现场敲尾插法CreateList_Tail函数,强调内存分配失败处理 | 抄关键行,预测输入1/2/3的输出 | 还原真实IDE编程氛围 |
| 6:00-7:30 | 调试:故意漏写p->next=NULL,展示输出乱序→引导学生修正 | 观察输出异常→指出错误点 | 错误案例→强化核心细节 |
| 7:30-9:00 | 过渡:提问“如何把新结点放最前面?”,引出表头插入 | 30 s 分组折纸演示插入过程 | 过渡衔接→引出表头插入 |
| 9:00-10:30 | 头插:白板动画演示“先链后断”两步操作,带读口诀“先连后,再断前” | 齐读口诀,复述指针操作步骤 | 口诀记忆→防断链核心原则 |
| 10:30-12:00 | 中插:给出任务“在第i=3位置插入x=99”,展示不完整代码让学生补全 | 2人一组补全3处关键空行 | 高阶思维→检验代码理解 |
| 12:00-15:00 | 小结+互动:讲解三种插入对比,抛出课后思考;评委提问时引导学生演示 | 回答对比问题,用纸质链表演示 | 检验深度→衔接课后思考 |