经过第二节课的学习,我学到了一个新的对于数据进行存储以及使用的方式-----单链表。它让我重新认识到了C语言中的数据结构,以后我对于C语言数据的使用,不再是以单一的数组、线性表来使用,而是可以用到单链表去对数据进行增加、插入、删除等一系列操作。同时,经过描摹老师的代码,我也感触深刻,对单链表这部分的内容理解的更加深入,有助于我后续在实际应用中更好的操作和管理数据,也开阔了我的知识面。话不多说,以下是描摹老师的代码,以及我对与单链表进行实体化的示意图。
基础函数
定义结构体
typedef struct LinkNode
{
char data;
struct LinkNode *next;
}LNode,*LinkList,*NodePtr;
初始化链表结构
/*初始化链表*/
LinkList initLinkList()
{
/*给这个链表一个头节点,以方便去访问*/
NodePtr tempHeader = (NodePtr)malloc(sizeof(LNode));
/*初始化这个头节点*/
tempHeader->data = '\0';
tempHeader->next = NULL;
/*返回这个头节点,以方便后续对链表进行操作*/
return tempHeader;
}
输出链表内容
/*输出链表中的数据*/
void printList(NodePtr paraHeader)
{
/*定义一个指针指向头结点的下一个位置*/
NodePtr p = paraHeader->next;
/*利用循环结构进行输出*/
while (p != NULL)
{
printf("%c",p->data);
p = p->next;
}
printf("\r\n");
}