• 技术文章 >后端开发 >PHP问题

    php怎么样实现链表?

    coldplay.xixicoldplay.xixi2020-07-17 11:13:26原创547

    php实现链表的方法:首先定义一个节点类,代码为【function __construct($val=null)】;然后实现链表的实现类,代码为【function addAtIndex($index, $val)】。

    php实现链表的方法:

    首先定义一个节点类

    class Node{
        public $val;
        public $next;
        function __construct($val=null){
            $this->val = $val;
            $this->next = null;
        }
    }

    链表的实现类

    class MyLinkedList {
        public $dummyhead; //定义一个虚拟的头结点
        public $size;
      
        function __construct() {
            $this->dummyhead = new Node(); 
            $this->size = 0;
        }
      
     
        function get($index) {
            if($index < 0 || $index >= $this->size)
                return -1;
            $cur = $this->dummyhead;
            for($i = 0; $i < $index; $i++){
                $cur = $cur->next;
            }
            return $cur->next->val;
        }
      
        function addAtHead($val) {
            $this->addAtIndex(0,$val);
        }
      
      
        function addAtTail($val) {
            $this->addAtIndex($this->size,$val);
        }
      
        function addAtIndex($index, $val) {
            if($index < 0 || $index > $this->size)
                return;
            $cur = $this->dummyhead;
            for($i = 0; $i < $index; $i++){
                $cur = $cur->next;
            }
            $node = new Node($val);
            $node->next = $cur->next;
            $cur->next = $node;
            $this->size++;
        }
      
        function deleteAtIndex($index) {
            if($index < 0 || $index >= $this->size)
                return;
            $cur = $this->dummyhead;
            for($i = 0; $i < $index; $i++){
                $cur = $cur->next;
            }
            $cur->next = $cur->next->next;
            $this->size--;
        }
    }

    相关学习推荐:PHP编程从入门到精通

    以上就是php怎么样实现链表?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    专题推荐:php 链表
    上一篇:php如何实现提交后跳转? 下一篇:php怎么继承类?
    大前端线上培训班

    相关文章推荐

    • PHP 实现常用数据结构之链表• php 数组是链表吗• php数组和链表有什么区别• 链表的特点有哪些

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网