zoukankan      html  css  js  c++  java
  • 顺序存储结构php实现

    <?php
    // php实现顺序存储
    $arr = [1,3];
    ListInsert($arr, 2, 6);
    var_dump($arr);
    
    $e = GetElem($arr, 2);
    var_dump($e);
    
    // 顺序存储结构的插入
    function ListInsert(Array &$arr, int $i, int $e){
        $count = count($arr);
        if($i < 1 || $i > $count + 1){
            throw new Exception('数据非法');
        }
        // 将要插入位置后数据元素向后移动一位
        for($k = $count - 1; $k >= $i - 1; $k--){
            $arr[$k + 1] = $arr[$k];
        }
        // 将新元素插入
        $arr[$i - 1] = $e;
        ListDelete($arr, 2);
        var_dump($arr);
        // 总结:可以快速取,但插入和删除需要移动大量元素
    }   
    // 顺序存储结构的删除
    function ListDelete(Array &$arr, int $i){
        $count = count($arr);
        if($i < 1 || $count === 0 || $i > $count){
            throw new Exception('数据非法');
        }
        // 删除位置之后的元素向前移动一位
        for($k = $i; $k < $count; $k++){
            $arr[$k - 1] = $k;
        }
    
        unset($arr[$i - 1]);
    }
    // 顺序存储结构的获取
    function GetElem(Array $arr, int $i){
        $count = count($arr);
        if($i < 1 || $count === 0 || $i > $count){
            throw new Exception('数据非法');
        }
        return $arr[$i - 1];
    }
    
  • 相关阅读:
    log4j
    JDBCtemplete 模板
    动态代理 aop切面实现事务管理
    spring
    spring mvc 简单实现及相关配置实现
    ssm整合
    Jquery
    Git分布式版本控制系统
    Java web server 基本实现原理
    jvm
  • 原文地址:https://www.cnblogs.com/cl94/p/13582645.html
Copyright © 2011-2022 走看看