国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

PHP中模擬鏈表和鏈表的基本操作示例

2024-05-04 23:43:22
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了PHP中模擬鏈表和列表的基本操作示例,包括鏈表的增刪查改等,說明基本上都包含在代碼注釋中,需要的朋友可以參考下
 

模擬鏈表:

<?php /** * PHP實現鏈表的基本操作 */class linkList {  /**   * 姓名   * @var string   */  public $name = '';     /**   * 編號   * @var int   */  public $id = 0;     /*   * 引用下一個對象   */  public $next = null;     /**   * 構造函數初始化數據   * @param int $id   * @param string $name   */  public function __construct($id = 0, $name = '') {    $this->name = $name;    $this->id  = $id;  }     /**   * 遍歷鏈表   */  public static function echo_link_list($head) {    $curr = $head;    while ($curr->next != null) {      echo '姓名:'.$curr->next->name, ' 編號:'.$curr->next->id;      echo '<br>';      $curr = $curr->next;    }  }     /**   * 添加新節點   */  public static function add($head, $id, $name) {    $curr = $head;    $obj = new linkList($id, $name);         while ($curr->next != null) {      // 如果當前ID < 下一個ID,則添加到中間,添加節點到指定順序位置      if ($curr->next->id > $id) {                 $obj->next = $curr->next;        $curr->next = $obj;                 return true;      } else if ($curr->next->id == $id) {                 echo '當前Id:'.$id.'重復了,請不要繼續添加了!';        echo '<br>';                 return false;      }      $curr = $curr->next;    }    // 添加節點到尾部    if ($curr->next == null) {      $curr->next = $obj;    }  }     /**   * 刪除節點   */  public static function del($head, $id) {    $curr = $head;         while($curr->next != null) {      if ($curr->next->id == $id) {        $curr->next = $curr->next->next;        return true;      }      $curr = $curr->next;    }  }     /**   * 修改節點   */  public static function edit($head, $id, $new_name) {    $curr = $head;         while($curr->next != null) {      if ($curr->next->id == $id) {        $curr->next->name = $new_name;      }      $curr = $curr->next;    }  }} $head = new linkList();linkList::add($head, 1, 'wangdk');linkList::add($head, 2, 'sunshuzhen');linkList::add($head, 8, 'wanghaha');linkList::add($head, 6, 'wangchufen');linkList::add($head, 6, 'wangchufen');linkList::add($head, 3, 'wangdaye'); linkList::del($head, 1);linkList::edit($head, 2, 'hahaha');linkList::echo_link_list($head); ?>

鏈表的增刪查改:

<?php /** * PHP實現鏈表的基本操作 */class linkList {  /**   * 姓名   * @var string   */  public $name = '';     /**   * 編號   * @var int   */  public $id = 0;     /*   * 引用下一個對象   */  public $next = null;     /**   * 構造函數初始化數據   * @param int $id   * @param string $name   */  public function __construct($id = 0, $name = '') {    $this->name = $name;    $this->id  = $id;  }     /**   * 遍歷鏈表   */  public static function echo_link_list($head) {    $curr = $head;    while ($curr->next != null) {      echo '姓名:'.$curr->next->name, ' 編號:'.$curr->next->id;      echo '<br>';      $curr = $curr->next;    }  }     /**   * 添加新節點   */  public static function add($head, $id, $name) {    $curr = $head;    $obj = new linkList($id, $name);         while ($curr->next != null) {      // 如果當前ID < 下一個ID,則添加到中間,添加節點到指定順序位置      if ($curr->next->id > $id) {                 $obj->next = $curr->next;        $curr->next = $obj;                 return true;      } else if ($curr->next->id == $id) {                 echo '當前Id:'.$id.'重復了,請不要繼續添加了!';        echo '<br>';                 return false;      }      $curr = $curr->next;    }    // 添加節點到尾部    if ($curr->next == null) {      $curr->next = $obj;    }  }     /**   * 刪除節點   */  public static function del($head, $id) {    $curr = $head;         while($curr->next != null) {      if ($curr->next->id == $id) {        $curr->next = $curr->next->next;        return true;      }      $curr = $curr->next;    }  }     /**   * 修改節點   */  public static function edit($head, $id, $new_name) {    $curr = $head;         while($curr->next != null) {      if ($curr->next->id == $id) {        $curr->next->name = $new_name;      }      $curr = $curr->next;    }  }} $head = new linkList();linkList::add($head, 1, 'wangdk');linkList::add($head, 2, 'sunshuzhen');linkList::add($head, 8, 'wanghaha');linkList::add($head, 6, 'wangchufen');linkList::add($head, 6, 'wangchufen');linkList::add($head, 3, 'wangdaye'); linkList::del($head, 1);linkList::edit($head, 2, 'hahaha');linkList::echo_link_list($head); ?>
 


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 措勤县| 五家渠市| 毕节市| 内丘县| 金寨县| 延庆县| 晋城| 关岭| 中江县| 区。| 金昌市| 五峰| 会宁县| 皋兰县| 赣榆县| 宜昌市| 莎车县| 克拉玛依市| 新巴尔虎左旗| 通江县| 朝阳市| 志丹县| 会昌县| 普陀区| 北碚区| 都江堰市| 潍坊市| 焦作市| 平顶山市| 福清市| 象山县| 乌鲁木齐市| 昌图县| 七台河市| 天台县| 乌苏市| 政和县| 汉寿县| 颍上县| 合肥市| 榆社县|