当前位置:Gxlcms > PHP教程 > PHP实现线性表的顺序存储结构

PHP实现线性表的顺序存储结构

时间:2021-07-01 10:21:17 帮助过:5人阅读

classSqList
{public$elem;
    public$length;
    public$size;
}

classLinear
{const LIST_INIT_SIZE = 10;
    const LIST_INCREMENT = 5;
    private$list = null;

    /**
     * 构造一个空的线性表
     */publicfunctioninitList()
    {$this->list = new SqList();
        $this->list->elem = array();
        $this->list->length = 0;
        $this->list->size = self::LIST_INIT_SIZE;
        returntrue;
    }

    /**
     * 销毁线性表
     */publicfunctiondestoryList()
    {if (is_object($this->list)) {
            $this->list = null;
        }
    }

    /**
     * 是否为空表
     */publicfunctionlistEmpty()
    {if (is_object($this->list)) {
            return$this->list->length == 0 ? true : false;
        }
    }

    /**
     * 返回元素个数
     */publicfunctionlistLength()
    {if (is_object($this->list)) {
            return$this->list->length;
        }
    }

    /**
     * 获取指定位置的元素
     */publicfunctiongetElem($i)
    {if ($i < 1 || $i > $this->list->length + 1) {
            returnfalse;
        }
        return$this->list->elem[$i-1];
    }

    /**
     * 在指定位置插入元素
     */publicfunctionlistInsert($i, $e)
    {if ($i < 1 || $i > $this->list->length + 1) {
            returnfalse;
        }
        if ($this->list->length >= $this->list->size) {
            $this->list->size += self::LIST_INCREMENT;
        }
        for ($j = $this->list->length; $j >= $i; $j--) {
            $this->list->elem[$j] = $this->list->elem[$j-1];
        }
        $this->list->elem[$i-1] = $e;
        $this->list->length++;
    }

    /**
     * 删除指定位置数据元素
     */publicfunctionlistDelete($i)
    {if ($i < 1 || $i > $this->list->length) {
            returnfalse;
        }
        $data = $this->list->elem[$i-1];
        for ($j = $i -1; $j < $this->list->length -1; $j++) {
            $this->list->elem[$j] = $this->list->elem[$j+1];
        }
        unset($this->list->elem[$this->list->length-1]);
        $this->list->length--;
        return$data;
    }
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

以上就介绍了PHP实现线性表的顺序存储结构,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

人气教程排行