2022-2023-1 20221313《计算机基础与程序设计》第十三周学习总结

2022-2023-1 20221313《计算机基础与程序设计》第十三周学习总结

作业信息

作业课程 https://edu.cnblogs.com/campus/besti/2022-2023-1-CFAP
作业要求 https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13
作业目标 《C语言程序设计》第十二章
作业正文 https://www.cnblogs.com/lu-yu/p/16929123.html

教材学习内容总结

《C语言程序设计》第十二章:
介绍了结构体的定义以及应用意义,结构体变量的定义、命名以及初始化,结构的嵌套,结构体变量的引用,结构体所占内存的字节数如何确定;
结构体数组的定义、初始化,结构体变量指针和结构体数组指针指针的定义和初始化,如何向函数传递结构体;
共用体的定义,公用体与结构体的区别,共用体的结构、初始化,以及特殊的应用;
枚举数据类型的定义、应用;
动态数据结构中单向链表的定义,如何建立一个单向链表,单项列表的插入、删除操作;

教材学习中的问题和解决过程

  • 问题1:单项列表有什么优缺点吗?
  • 问题1解决方案:通过查资料发现:
    1.链表的内存空间不是连续的,可以充分利用计算机的内存,实现内存动态管理
    2.链表在创建时不用指定大小
    3.链表在插入和删除数据时,时间复杂度可以达到O(1),相对数组来说,效率要高很多
    4.但是链表要任何元素,都必须重头开始遍历,无法直接通过下标值取出元素
  • 问题2:单项列表和数组什么时候用哪一种更合适呢?
  • 问题2解决方案:通过上网查阅资料发现:
    如果是经常要取出数据,应该使用数组;
    如果是要频繁插入数据,应该使用链表。

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

  • 问题1:
    结构体中在定义中出现错误

  • 问题1解决方案:
    通过翻阅课本,发现定义的数据类型为struct num,而不是num,要想不加struct,需要用typedef定义结构体名称。

  • 问题2:
    输入的名字无法赋值给x[i].name

  • 问题2解决方案:
    其实虽然结构体变量名称不代表首地址,但是数组名name代表首地址,所以不用加&。

其他(感悟、思考)

发现单项链表能够很好地利用内存空间,有很大的优点,同时了解到链表还有双向链表、循环链表等类型,等待我们更深的探索。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 200/200 2/2 10/10
第二周 300/500 2/4 18/28
第三周 300/800 3/7 20/48
第四周 300/1100 2/9 20/68
第五周 300/1400 2/11 20/88
第六周 300/1700 4/15 20/108
第七周 300/2000 1/16 20/128
第八周 300/2300 1/17 20/148
第九周 300/2600 3/20 20/168
第十周 300/2900 1/21 20/188
第十一周 200/3100 1/21 20/208
第十二周 200/3300 1/22 20/228
第十三周 200/3500 1/23 20/248
  • 计划学习时间:20小时

  • 实际学习时间:20小时

参考资料

posted @ 2022-11-27 11:32  20221313陆玉  阅读(38)  评论(0编辑  收藏  举报