第二章学习小结_
第二章学习小结
1, 学习内容:
线性表分为顺序表和链表
顺序表:优点:随机存取。 缺点:插入删除难;需要一段连续的存储空间
链表: 优点:插入删除容易,存储空间可以不连续。缺点:按下标查找效率低
顺序表
线性表的顺序表示和实现
——顺序表的存储结构:
#define MAXSIZE 100
typedef struct{
ElemType *elem;
int length;
}SqList; //顺序表的存储结构为SqList
顺序表中基本操作的实现:(不熟)
1, 初始化
2, 取值
3, 查找
4, 插入
5, 删除
链表
(1)单链表的定义和表示:一个结点又分为数据域和指针域
易混淆概念:头指针,头结点,首元结点
L, p, p->next指的是哪个结点
Pa=pc的意思
(2)单链表的基本操作:
1,初始化
2, 取值
3, 查找
4, 插入
5, 删除
6, 创建单链表(前插法和后插法)
循环链表
双向链表
课外知识,sort的用法:
#include <iostream>
#include <algorithm>
int main()
{
int a[20]={2,4,1,23,5,76,0,43,24,65},i;
for(i=0;i<20;i++)
cout<<a[i]<<endl;
sort(a,a+20);
for(i=0;i<20;i++)
cout<<a[i]<<endl;
return 0;}//sort默认升序排列
待改进:代码要加注释
代码规范性待改进
在数据结构学习投入的时间不够,对某些知识仍不熟
对时间复杂度的计算不熟
小结:对顺序表和链表的结构以及某些步骤很不熟,特别是顺序表,还不能做到不看书来敲代码,需要多加练习,多尝试,对链表的某些概念任意混淆,感觉到作业还是有些难度。
目标:下次要提前写作业,把更多的时间花在深入理解每一行代码上。