20172311《程序设计与数据结构》第二周学习总结
教材学习内容总结
第三章 集合概述 ——栈
- 集合是一种汇集、组织了其余对象的对象,它定义了一种特定的方式,能够访问、管理所包含的对象(称为该集合的元素)
- 集合能够分为两大类:线性集合和非线性集合
- 元素彼此之间的组织形式一般由元素添加到集合的次序、元素自身之间的一些内在关系决定
- 集合是一种隐藏了实现细节的抽象
- 对象是用于建立集合的一种完美机制
- 数据类型是一组值及做用于这些数值上的各类操做
- 集合是一种抽象数据类型
- 数据结构是一种用于实现集合的基本编成结构
- 栈的元素是按后进先出的方法进行处理的,最后进入栈中的元素最早被移出
- 多态引用是一个引用变量,它能够在不一样地点引用不一样类型的对象
- 一个Object引用可用于引用任意对象,由于全部类最终都是从Object类派生而来的
- 使用多态引用的数组实现栈行不通
- 泛型不能被实例化,它只是一个占位符,容许咱们去定义管理特定类型的对象的类,且只有当该类被实例化时,才建立该类的对象
- 异常就是一个对象,它定义了一种非正常或错误的状况。错误与异常相似,只不过错误每每表示一种没法恢复的状况,且没必要去捕获它
错误和异常表示不正常或不合法的处理html
第四章 链式结构——栈
- 链式结构是一种数据结构,他使用对象引用变量来建立对象之间的连接
- 引用变量有时又称为指针
- 须要一个单独的引用变量来表示链表的首结点
- 链表由一些对象构成,其中每一个对象指向了链表中的下一个对象
- 在处理链表的首结点时需特别当心,以正确维护指向整个链表的引用
- 访问链表的惟一方式是从第一个元素开始,顺着该链表往下进行
栈的链表实现是从链表的一端添加和删除元素git
教材学习中的问题和解决过程
- 问题1:泛型不能被实例化什么意思?如何使用泛型建立一个能够储存全部类型数据的数组?
- 问题1解决方案:
泛型不能被实例化的意思可理解为:
试图建立一个泛型数组是错误的,错误代码以下:算法
Stack stack =new T(initialCapaciry);
使用泛型建立一个能够储存全部类型数据的数组:数组
首先实例化一个Object数组,而后把它转换为一个泛型数组,代码以下:数据结构
Stack stack =(T[])(new Object[initialCapaciry]);
代码调试中的问题和解决过程
- 问题1:运行PP3_2时出现错误,代码及运行截图以下:

- 问题1解决方案:
经与同窗讨论得知Stack类判断栈是否为空的方法是.empty()
,改正后代码及运行截图以下:


上周考试错题总结
结对及互评
- 本周结对学习状况
对课本上的诸多疑问点进行了讨论,同时对代码实现过程当中遇到的一些问题也经过讨论获得了解决
感想
还需继续努力!.net
学习进度条
目标 |
5000行 |
30篇 |
400小时 |
|
第一周 |
0/0 |
1/1 |
4/4 |
|
第一周 |
464/464 |
1/2 |
10/14 |
理解掌握了用数组和链表实现栈的方法 |
计划学习时间:15小时设计
实际学习时间:10小时3d
改进状况:提升动手能力,在实现代码中逐渐提升!
参考资料