C++数据结构第18课、顺序存储线性表的分析
-
效率分析
-
问题
分析:不能这样比,要根据 T 来决定 -
下面的代码正确吗?为什么?
这两段代码的问题在于都用两个指针指向了同一片内存空间,在析构的时候会出现意想不到的问题。 -
分析:
对于容器类型的类,可以考虑禁用拷贝构造和赋值操作 -
下面的代码正确吗?为什么?
分析:顺序存储结构线性表提供了数组操作符的重载,通过重载能够快捷方便的获取目标位置处的数据元素,在具体的使用形式上类似数组,但是由于本质不同,不能代替数组使用。本质是 m_length = 0
,在[ ] 操作符函数重载里面属于越界异常。
- 小结
— 顺序存储线性表的插入和删除操作存在重大效率隐患
— 线性表作为容器类,应该避免拷贝构造和拷贝赋值
— 顺序存储线性表可能被当成数组误用
— 工程开发中可以考虑使用数组类代替原生数组