本意是整理和复习,理解不深或者有错误的评论区提出即可。
只有第一关的代码里面有结构体的定义,其余我只放了功能函数。
初始代码
#include <stdio.h>
#include <stdlib.h>
//第一关代码
struct node
{//此处填写代码,定义链表结点类型,包含一个存放整型数据的 data 成员,和一个指向下一个结点的next成员
};
struct node *mycreateList()
{//此处填写代码,创建一个只有一个头结点的空链表,头节点的数据域赋值为0,并将表头结点的地址返回
}
//第二关代码
void myinsertHead(struct node * head, int insData )
{
/*在此处完成任务,实现在head为表头d 链表的头插数据元素insData的功能*/
//begin
//end
}
void myinsertTail(struct node * head , int insData )
{
/*在此处完成任务,在head为表头的单链表表尾插入数据元素insData*/
//begin
//end
}
void myprintList(struct node *L)
{
/*在此处完成任务,输出head为表头链表中的数据,每输出一个数据换一行*/
//begin
//end
}
//第三关代码
void reverseList_link( struct node *L)
{
//请在此处填入代码,实现链表逆置功能
//begin
//end
}
//第四关代码
int locateAndChange( struct node *L, int data)
{
//请在此处填入代码,在头结点为L的链表中查找 与data值相等的第一个结点,若能找到该结点,则将该结点的值与前驱结点的值交换
//若未找到与data值相等的结点,则返回值为-1,若找到的结点无前驱结点,则返回值为0,否则返回值为前驱结点的值
//begin
//end
}
//第五关代码
int destroyList(struct node *L)
{
//请在此处填写代码,实现将链表L的结点空间回收
//返回值为回收结点的个数,含头结点在内
}
第1关:链表数据结构定义及初始化链表
题目
任务描述
本关任务:完成创建一个带表头的空链表的操作。
编程要求
根据提示,在右侧编辑器补充代码,完成链表结点定义,创建带表头的空链表并返回表头的函数。
开始你的任务吧,祝你成功!
测试
输出:success to create 0
代码
功能函数
#include <stdio.h>
#include <stdlib.h>
//第一关代码
struct node
{//此处填写代码,定义链表结点类型&#x