zoukankan      html  css  js  c++  java
  • 顺序存储线性表的分析

    问题:
    长度相同的两个SeqList,插入和删除操作的平均耗时是否相同?

    下面的代码正确吗?为什么?

     2.

     导致上面出现问题的原因就是,拷贝构造函数和赋值操作,因此我们可以这样解决:

    对于容器类型的类,可以考虑禁用拷贝构造和赋值操作。

    template<typename T>
    class List : public Object
    {
    protected:
        List(const List&);
        List& operator= (const List&);
    public:
        List() {}
        //...
    }

    下面的代码正确吗?为什么?

    int main()
    {
        StaticList<int ,5> list;
        
        for(int i=0; i<list.capacity(); i++)
        {
            list[i]= i*i;     //将线性表当作数组使用
        }
        
        return 0;
    }

    这段程序会崩掉,因为你把线性表当作数组来使用了。

     线性表必须先插入元素,才能使用操作符[]访问元素。

    问题分析:
    顺序存储结构线性表提供了数组操作访问操作符重载通过重载能够快捷方便的获取目标位置处的数据元素在具体的使用形式上类似数组,但是由于本质不同,不能代替数组使用

     

  • 相关阅读:
    Mysql的表名/字段名/字段值是否区分大小写
    20个PHP程序性能优化的方法
    PHP中大括号用法
    PHP伪类型和伪变量
    PHP中关于取模运算及符号
    PHP之array_flip()方法
    PHP之implode()方法
    PHP中is_null()方法
    原型模式(Prototype)
    适配器模式
  • 原文地址:https://www.cnblogs.com/-glb/p/12052411.html
Copyright © 2011-2022 走看看