设计思路

发布时间 2023-11-19 00:05:13作者: 涨涨涨张

在线性表AB顺序存储合并上出了点问题,主要是不细心导致的c表中数据不是递减以及标点符号导致的编译错误。
链表逆置:首先判断链表是否为空或者只有一个结点。三个指针p、t、pp来表示当前结点、下一个结点和前一个结点。初始化时,p指向空,pp指向链表的头节点。循环遍历链表,改变当前结点的指针之前保存下一个结点的指针,最后返回反转后的链表的头节点。

线性表AB顺序存储合并:定义一个包含data和next指针的结构体Node。创建build函数向链表中插入元素构建链表。build函数重载合并两个有序链表,将结果放入pre链表中。根据元素大小依次插入pre链表,flush函数用于删除链表中重复的元素。show函数用于输出链表中的元素。在主函数中,创建三个链表p1、p2、p3,并根据输入构建两个链表p1和p2,然后将p1和p2合并到p3中,并删除p3中的重复元素。最后调用show函数输出p3中的元素。

双向链表循环应用:结构体node,一个整型数据data和两个指针next和pre指向下一个结点和上一个结点。函数build构建双向链表,函数show输出双向链表中的每个结点的数据。函数change交换双向链表中指定结点的前两个结点和后两个结点。循环遍历链表,直到找到指定的结点。main函数中创建一个头结点p,将next指针赋值为NULL。然后调用build函数构建双向链表,并调用change函数交换指定结点的前两个结点和后两个结点。

写代码要细心、全面考虑,不然很容易编译错误,加深了我对链表以及指针的理解,运用也更加灵活。设计思路