2022-2023-1 第十三周总结 姚博茗 20221407

学期(如2022-2023-1) 学号(如:20221407) 《计算机基础与程序设计》第十三周学习总结

作业信息

这个作业属于哪个课程 2022-2023-1-计算机基础与程序设计
这个作业要求在哪里 2022-2023-1计算机基础与程序设计第十三周作业
这个作业的目标
作业正文 ... 本博客链接

教材学习内容总结

  • 《C语言程序设计》第十二章:这一章讲述了一种神奇的数据类型:结构体,这个东西可以再一种数据类型中标示多种数据类型。同时,书中又介绍了几种相关的应用:单向链表,树,图。让我能用C语言实现更多事情。

教材学习中出现的问题

  • 只有单向链表一种链表吗?
    不是的
    解决:查百度solution
    循环链表是与单链表一样,是一种链式的存储结构,所不同的是,循环链表的最后一个结点的指针是指向该循环链表的第一个结点或者表头结点,从而构成一个环形的链。
    循环链表的运算与单链表的运算基本一致。所不同的有以下几点:
    1、在建立一个循环链表时,必须使其最后一个结点的指针指向表头结点,而不是象单链表那样置为NULL。此种情况还使用于在最后一个结点后插入一个新的结点。
    2、在判断是否到表尾时,是判断该结点链域的值是否是表头结点,当链域值等于表头指针时,说明已到表尾。而非象单链表那样判断链域值是否为NULL。
    双向链表
    双向链表其实是单链表的改进。
    当我们对单链表进行操作时,有时你要对某个结点的直接前驱进行操作时,又必须从表头开始查找。这是由单链表结点的结构所限制的。因为单链表每个结点只有一个存储直接后继结点地址的链域,那么能不能定义一个既有存储直接后继结点地址的链域,又有存储直接前驱结点地址的链域的这样一个双链域结点结构呢?这就是双向链表。
    在双向链表中,结点除含有数据域外,还有两个链域,一个存储直接后继结点地址,一般称之为右链域;一个存储直接前驱结点地址,一般称之为左链域。
  • 书中没有介绍图如何实现,我想查一查:
    CSDN
    图应用了

代码调试中的问题和解决过程

这个代码应用了共用体这种数据类型,但初次使用经验不足,对共用体理解不够深刻,不知道为什么明明复制了两次但到最后还是只有最后一次的赋值结果

这个代码虽然原题不是很难但我打算自我挑战,由于是应用了动态二维数组和指向结构体数组的指针,期间经历了很多波折……
期间多次出现结构体不能正常使用的情况。后来我发现是我指针使用的问题。使用指针不显示用数组那样方便,你会在过程中不断地移动指针。如果不是字符串可能还要计数,这就非常的困难。偶尔会忘掉指针的增1操作……导致结果非常奇怪……
*

这一周我们考了一个上机考试,这是我当时写的代码。这个代码也经过了不少修改,因为最初没有审题导致这个用来去掉字符串中所有指定字符的功能只能对第一个指定字符实现功能。也是因为我没有认真审题的原因。

其他

  • 这周我和学长谈了一谈,才知道原来现在学的东西太肤浅了,我们做什么都是用人家写好的头文件,其实本来就没什么自己的东西,真正要学习的东西还有很多。我也知道了到大三时会做一个较大的项目,需要非常多的只是,只像我现在这样不行,应该学更多关于C语言的知识才行,我也希望能像18级的学长学姐们那样敲出自己的成果。## 学习进度条

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 20/20
第二周 300/500 2/4 18/38
第...周 ... ... ...
第十三周 420 1 30/90 学习了结构体,知道自己学到的关于编程的东西太少了
posted @ 2022-11-27 21:47  北寒带  阅读(22)  评论(0编辑  收藏  举报