zoukankan      html  css  js  c++  java
  • 单项链表

     class Node{
            public $data=null;
            public $next=null;
            public function __construct($data=null){
                $this->data = $data;
            }
        }
        class LinkNode{
            public $header=null;
            public function __construct(){
                $this->header = new Node();
            }
            //添加
            public function insert($data){
                $current = $this->header;
                while($current->next){
                    $current=$current->next;
                }
                $current->next = new Node($data);
            }
    
            //遍历
            public function listLink(){
                $current = $this->header;
                while($current){
                    echo $current->data;
                    echo "
    ";
                    $current=$current->next;
                }
            }
            //通过数字返回节点所在位置
            public function find($data){
                $current = $this->header->next;
                $index=0;
                while($current){
                    if($current->data == $data){
                        break;
                    }
                    $current = $current->next;
                    $index++;
    
                }
                return $index;
            }
    
            //修改
            public function update($num,$data){
                $index=1;
                $current = $this->header;
                while($index <= $num){
                    $prev=$current;
                    $current=$current->next;
                    $index++;
                }
                $current->data=$data;
            }
    
            //固定位置插入数字
            public function addData($num,$data){
                $current = $this->header->next;
                $index = 1;
                $node = new Node($data);
                while($index < $num){
                    $prev = $current;
                    $current=$current->next;
                    $index++;
                }
                $prev->next=$node;
                $node->next=$current;
            }
            //清除数据
            public function delData($num){
                
            }
        }
    
        $arr=[10,304,4,5,1,30];
        $obj  = new LinkNode();
        foreach ($arr as $key => $value) {
            $obj->insert($value);
        }
        //$obj->addData(4,100);
        //$obj->update(2,9);
        //$obj->listLink();
    

      

  • 相关阅读:
    python变量及简单数据类型
    python函数小案例
    python字符串和列表小案例
    python循环输出
    Jmeter测试工具
    操作系统-进程管理~
    操作系统~
    组成原理第一章笔记~
    分时间段(年份或月份)统计,没有数字补0 Java(替代 MYSQL) 做法
    组成原理复习概略
  • 原文地址:https://www.cnblogs.com/zh718594493/p/12089482.html
Copyright © 2011-2022 走看看