<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      php 實現雙向鏈表

        1 /**
        2  * 鏈表元素結點類
        3  */
        4 class Node {
        5     public $pre = NULL; // 前驅
        6     public $next = NULL; // 后繼
        7     public $data = NULL; // 結點值
        8     public function __Construct($data) {
        9         $this->data = $data;
       10     }
       11 }
       12 
       13 /**
       14  * 雙向鏈表類
       15  */
       16 class DoubleLink {
       17     private $head; // 頭指針
       18     private $tail; // 尾指針
       19     private $len; // 鏈表長度
       20 
       21     /**
       22      * 初始化鏈表
       23      */
       24     public function __Construct()
       25     {
       26         $newNode = $newNode = new Node(null);
       27         $this->tail = $this->head = $newNode;
       28         $this->len = 0;
       29     }
       30 
       31     /**
       32      * 添加結點
       33      * @param $data 要添加的結點
       34      * @param $search 添加的位置
       35      */
       36     public function addNode($data, $search = null) {
       37         $newNode = new Node($data);
       38         $tmp = $this->searchNode($search);
       39         if ($tmp !== null) {
       40             $newNode->pre = $tmp->pre;
       41             $newNode->next = $tmp;
       42             $tmp->pre = $newNode;
       43             $newNode->pre->next = $newNode;
       44         } else {
       45             $newNode->pre = $this->tail;
       46             $this->tail->next = $newNode;
       47             $this->tail = $newNode;
       48         }
       49         $this->len++;
       50     }
       51 
       52     /**
       53      * 刪除指定結點
       54      * @param $search
       55      */
       56     public function delNode($search) {
       57         $tmp = $this->searchNode($search);
       58         if(null !== $tmp){
       59             if ($tmp->next !== null) {
       60                 $tmp->pre->next = $tmp->next;
       61                 $tmp->next->pre = $tmp->pre;
       62             } else {
       63                 $tmp->pre->next = null;
       64             }
       65             unset($tmp);
       66             $this->len--;
       67         }
       68     }
       69 
       70     /**
       71      * 修改指定結點的值
       72      * @param $search
       73      * @param $data
       74      */
       75     public function setNode($search, $data){
       76         $tmp = $this->searchNode($search);
       77         if(null !== $tmp){
       78             $tmp->data = $data;
       79         }
       80     }
       81 
       82     /**
       83      * 查找結點
       84      * @param $search 要查找的結點元素值
       85      * @return $tmp 查找到的結點元素
       86      */
       87     public function searchNode($search) {
       88         $tmp = $this->head;
       89         while ( $tmp->next !== null ) {
       90             $tmp = $tmp->next;
       91             if ($tmp->data === $search) {
       92                 return $tmp;
       93             }
       94         }
       95         return null;
       96     }
       97 
       98     /**
       99      * 讀取鏈表全部結點
      100      */
      101     public function show() {
      102         $tmp = $this->head;
      103         while ( $tmp->next !== null ) {
      104             $tmp = $tmp->next;
      105             echo $tmp->data;
      106         }
      107         echo "<br/>";
      108         $tmp = $this->tail;
      109         while ( $tmp->pre !== null ) {
      110             echo $tmp->data;
      111             $tmp = $tmp->pre;
      112         }
      113     }
      114 }
      115 
      116 $myList = new DoubleLink();
      117 $myList->addNode("A");
      118 $myList->addNode("B");
      119 $myList->addNode("C");
      120 $myList->addNode("D");
      121 $myList->addNode("E");
      122 $myList->addNode('F','C');
      123 $myList->delNode('F');
      124 $myList->setNode("B",'G');
      125 $myList->show();

       

      posted @ 2017-09-08 12:56  lpfuture  閱讀(1203)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 久久精品国产一区二区三| 国产目拍亚洲精品二区| 好吊视频一区二区三区人妖| 国产玖玖玖玖精品电影| 国产网友愉拍精品视频手机| 国产亚洲精品第一综合| h无码精品动漫在线观看| 国产精品无遮挡一区二区| 国产亚洲tv在线观看| 中国女人熟毛茸茸A毛片| 亚洲精品无amm毛片| 香蕉久久夜色精品国产成人| 男女性杂交内射女bbwxz| 免费无码又黄又爽又刺激| 国产稚嫩高中生呻吟激情在线视频 | 国产一二三五区不在卡| 亚洲国产精品日韩av专区| 久久精品国产一区二区三区不卡| 久久亚洲精品中文字幕馆| 狠狠综合久久综合88亚洲| 日日噜噜噜夜夜爽爽狠狠视频| 少妇被粗大的猛烈xx动态图| 精品中文人妻在线不卡| 97人妻成人免费视频| 午夜爽爽爽男女免费观看影院| 女高中生强奷系列在线播放| 亚洲日本韩国欧美云霸高清| 色综合久久精品亚洲国产| 亚洲欧美综合中文| 国产精品免费看久久久| 国产欧美精品一区二区三区| 亚洲国产成人综合精品| 国产午夜亚洲精品国产成人| 婷婷五月综合丁香在线| 91国内精品久久精品一本| 天堂一区人妻无码| 天天摸天天做天天添欧美| 四虎永久免费精品视频| 图片| 亚洲精品福利一区二区三区蜜桃| 丝袜人妻一区二区三区网站|