日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php数据结构课程---2、链表(php中 是如何实现单链表的(也就是php中如何实现对象引用的))...

發布時間:2025/3/20 php 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php数据结构课程---2、链表(php中 是如何实现单链表的(也就是php中如何实现对象引用的))... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

php數據結構課程---2、鏈表(php中 是如何實現單鏈表的(也就是php中如何實現對象引用的))

一、總結

一句話總結:

php是弱類型語言,變量即可表示數值,也可表示對象:鏈表節點的數據域的值就是數值,鏈表節點的指針域的值就是對象(new Node()出來的產物)
用class來構建節點,也用class來構建比如單鏈表啊,雙鏈表啊

?

1、鏈表是什么?

鏈表是一種物理存儲(內存)單元上非連續、非順序的存儲結構,數據元素的邏輯順序是通過對象引用來實現的。
節點=數據域+下一個結點的引用

鏈表由一系列結點(鏈表中每一個元素稱為結點)組成,結點可以在運行時動態生成。每個結點包括兩個部分:一個是存儲數據元素的數據域,另一個是存儲下一個結點的引用。

?

2、php實現單鏈表實例?

節點是一個類:class Node{}:Node節點里面有兩個變量($data和$next)和一個構造函數__construct()
php構造函數:public function __construct(){}
單鏈表也是一個類:有$header,$last,$size三個變量
1 <?php 2 3 4 class Node{ 5 public $data = null; 6 public $next = null; 7 public function __construct($data,$next=null){ 8 $this->data = $data; 9 $this->next = $next; 10 } 11 } 12 13 class singleLinkList{ 14 private $header = null; 15 private $last = null; 16 public $size = 0; 17 18 public function __construct(){ 19 20 } 21 22 public function add($data){ 23 $node = new Node($data); 24 if($this->header == null and $this->last==null){ 25 $this->header = $node; 26 $this->last = $node; 27 }else{ 28 $this->last->next = $node; 29 $this->last = $node; 30 } 31 } 32 33 public function del($data){ 34 $node=$this->header; 35 if($node->data == $data){ 36 $this->header = $this->header->next; 37 return true; 38 }else{ 39 while($node->next->data == $data){ 40 $node->next = $node->next->next; 41 return true; 42 } 43 } 44 return false; 45 } 46 47 public function update($old,$new){ 48 $node = $this->header; 49 while($node->next != null){ 50 if($node->data == $old){ 51 $node->data = $new; 52 return true; 53 } 54 $node = $node->next; 55 } 56 echo "not found!"; 57 return false; 58 } 59 60 public function find($data){ 61 $node = $this->header; 62 while($node->next != null){ 63 if($node->data == $data){ 64 echo "found!"; 65 return; 66 } 67 $node = $node->next; 68 } 69 echo "not found!"; 70 } 71 72 public function getAll(){ 73 $node = $this->header; 74 while($node->next != null){ 75 echo $node->data; 76 $node = $node->next; 77 } 78 echo $node->data; 79 } 80 } 81 82 $list = new singleLinkList(); 83 $list->add("1"); 84 $list->add("2"); 85 $list->add("3"); 86 $list->add("4"); 87 $list->add("5"); 88 $list->add("6"); 89 echo "<pre>"; 90 // $list->getAll(); 91 92 // if($list->del("2")){ 93 // echo "success"; 94 // }else{ 95 // echo "false"; 96 // } 97 98 // if($list->update("3","7")){ 99 // var_dump($list); 100 // } 101 102 $list->find(7); 103 // $list->getAll();

?

?

3、雙向鏈表的數據結構是怎樣?

<-pre data next->:data為數據,pre為指向前個節點的引用,next為指向后個節點的引用
class node{public $data;public $prev;public $next; } class doubleLinkList{public header;private size; } //操作函數getSize(),setHeader($v),__construct(),add($d) // delete($d),update($d),find($d),

?

?

4、循環鏈表的結構結構是怎樣?

和雙向鏈表相似:data域加前($prev)后($next)兩個指針:最后一個節點的next指針指向和第一個節點,第一個的prev指向了最后一個節點

?

5、約瑟夫環(求最后剩下的那個人)如何用循環鏈表來做,(n個小孩坐在一圈,每數到3就退出去,最后余下的是誰)?

確定好Node節點的屬性和方法
確定構造函數:創建鏈表
circleList的另外一個方法輸出最后剩下的那個人
<?php class Node{public $name;public $next;public function __construct($name,$next=null){$this->name = $name;$this->next = $next;}public function setNext(&$next){$this->next = $next;} }class circleList{public $head =null;public function __construct($str){$node = null;foreach (explode(" ", $str) as $key => $value) {if($node){$node->setNext(new Node($value));$node= $node->next;}else{$node = new Node($value);$this->head = $node;}}$node->setNext($this->head);// echo "<pre>";// var_dump($this->head); }public function findLastOne($n){$count = 1;$list = $this->head;while($list->next != $list){if($count%3==2){$list->next=$list->next->next;}else{$list=$list->next;}$count++;}return $list->name;} }$str = "圣夏彤 邴丹丹 臺浩邈 鮮依瑤 閃又青 威心遠 佛樂正 尋仙韻 別光華 柳舒蘭 聞清婉 讓昕玨 出欣躍 慎詩丹 卿冬萱 拜若薇 黃夢秋 浮婭玟 駱飛章 劍成化 平海榮 望凡霜 蔡雪萍 姓慧穎 秋訪夢 須盈秀 邰宣朗 林安彤 謬祺然 能駿琛 湯香菱 查尋琴 乾問凝 冒聽筠 左詩蘭 市暄美 位水丹 裔翠芙 邗宏博 空永長 進南霜 司空新雪 穆樂蓉 緒野雪 告天瑞 仁桂帆 齊珠雨 姒以冬 禽夏菡 呼延蘭英 簡小雨 建彤蕊 偶迎南 南夏嵐 枝傲菡 羅蔚星 年博簡 夔代巧 戈曼蔓 赫麥冬 光美如 戲柔惠 恭千秋 森寄蕾 亓嫻淑 豆飛瑤 菅爾容 齋依云 荊紫杉 宦雪容 酒含景 占碧蓉 牽盼香 唐青雪 清映秋 瑞和璧 藍聽春 牛新潔 沐妙思 胥雍恬 饒鴻光 丹樂然 抄曼吟 張廖智杰 府念云 昔德宇 堯平安 尹芳澤 勤清妍 哀清瑩 柴佩珍 夾谷昆琦 塔思琪 虞采萱 融水荷 招采萱 勢鴻志 次長岳 費莫懷芹 始修真";$list = new circleList($str); echo $list->findLastOne(3);

?

?

?

?

二、內容在總結中

?

?

?

轉載于:https://www.cnblogs.com/Renyi-Fan/p/10873352.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的php数据结构课程---2、链表(php中 是如何实现单链表的(也就是php中如何实现对象引用的))...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 懂色av蜜臀av粉嫩av喷吹 | 无套白嫩进入乌克兰美女 | 色婷婷基地 | 黄片一区二区 | 日本高清免费aaaaa大片视频 | 国产一区二区三区在线免费观看 | 一级黄色片在线免费观看 | 欧美激情三级 | 一女二男一黄一片 | 成人欧美一区二区三区在线观看 | 国产av人人夜夜澡人人爽 | 蜜臀99久久精品久久久久小说 | 天堂在线视频免费观看 | 日韩网站视频 | 极品尤物魔鬼身材啪啪仙踪林 | 国产又粗又猛又爽 | 天天搞天天搞 | 麻豆网站在线播放 | 伊人天堂在线 | 欧美二区在线观看 | 国产精品久久久久久av | 亚洲人午夜射精精品日韩 | 欧美xxxⅹ性欧美大片 | 插插插干干干 | 日本少妇一区 | 国产精品丝袜黑色高跟鞋的设计特点 | 亚洲色图国产精品 | 日本一区二区久久 | 国产精品1000部啪视频 | 91成人在线| 日韩欧美亚洲一区二区 | 国产无遮挡又黄又爽免费视频 | 国产香蕉在线观看 | 午夜视频免费在线观看 | 手机看片日韩 | 222aaa| 日本女人毛茸茸 | 日韩毛片网| 久久久久免费精品视频 | 第一区免费在线观看 | 国内毛片毛片毛片毛片毛片 | 国产亚洲精品久久久久丝瓜 | 绿帽人妻精品一区二区 | 日本熟妇毛耸耸xxxxxx | 欧美又大又硬又粗bbbbb | 国产精品国产三级国产aⅴ 欧美bbbbbbbbbbbb18av | 黄页网站在线看 | 精品在线播放视频 | 久久av无码精品人妻系列试探 | 欧美黄色一级大片 | 日韩高清专区 | 国产欧美一区二区三区视频 | 四虎国产视频 | 一边摸内裤一边吻胸 | 麻豆精品国产精华精华液好用吗 | 男人天堂导航 | 国产91丝袜 | 91黄色免费版 | 国产精品亚洲五月天丁香 | 秋霞视频在线观看 | 校园伸入裙底揉捏1v1h | 天天天干| 美女三级网站 | 狠狠狠狠狠 | 一级特黄aaa大片 | 国产免费三片 | 2018中文字幕在线观看 | 在线观看黄网址 | 国产精品日韩电影 | 久久国产精品无码一级毛片 | 男女做那个的全过程 | 欧美精品久久久久a | 久久久久久久久久久久国产精品 | 亚洲色偷偷综合亚洲av伊人 | 一级黄色aa | 国产尤物视频在线观看 | 午夜美女视频 | 91成人在线观看高潮 | 久久久精品一区 | 67194在线免费观看 | 激情综合网五月天 | 亚洲三级视频在线观看 | 免费一区二区三区 | 蜜臀久久99精品久久久久宅男 | 欧美 日韩 国产 成人 | 欧美一区二区三区免费观看 | 亚洲天堂一二三 | 国产人人爱 | 亚洲在线免费观看视频 | 亚洲性视频 | 黄色污污视频网站 | 浪浪视频在线观看 | 国产精品久久久久久久免费 | 免费观看黄色 | 三级网站免费观看 | 波多野在线观看 | 神马午夜在线观看 | 九九爱视频 | 一区二区三区四区不卡 |