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

首頁(yè) > 開發(fā) > PHP > 正文

【PHP學(xué)習(xí)】線性表的順序存儲(chǔ)結(jié)構(gòu)原理分析以及代碼示例

2024-05-04 21:51:03
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

本篇文章主要講述的是線性表的順序存儲(chǔ)結(jié)構(gòu)原理分析以及代碼示例,具有一定的參考價(jià)值,感興趣的朋友可以了解一下。

1.PHP中的數(shù)組實(shí)際上是有序映射,可以當(dāng)成數(shù)組,列表,散列表,字典,集合,棧,隊(duì)列,不是固定的長(zhǎng)度

2.數(shù)組定義中多個(gè)單元都使用了同一個(gè)鍵名,則只使用了最后一個(gè),之前的都被覆蓋了

3.想要函數(shù)的一個(gè)參數(shù)總是通過(guò)引用傳遞,可以在函數(shù)定義中該參數(shù)的前面加上符號(hào) &

4.PHP 的引用是別名,就是兩個(gè)不同的變量名字指向相同的內(nèi)容;“默認(rèn)情況下對(duì)象是通過(guò)引用傳遞的”。但其實(shí)這不是完全正確的,當(dāng)對(duì)象作為參數(shù)傳遞,作為結(jié)果返回,或者賦值給另外一個(gè)變量,另外一個(gè)變量跟原來(lái)的不是引用的關(guān)系,只是他們都保存著同一個(gè)標(biāo)識(shí)符的拷貝

  1. <?php 
  2.  
  3. class Sqlist{ 
  4.  
  5.         public $data=array(); 
  6.  
  7.         public $length=0; 
  8.  
  9.  
  10. //插入元素 
  11.  
  12. function listInsert(&$sqlist,$i,$e){ 
  13.  
  14.         //位置是否超出范圍 
  15.  
  16.         if($i<1 && $i>$sqlist->length+1){ 
  17.  
  18.                 return false; 
  19.  
  20.         }    
  21.  
  22.         //從插入位置開始,后面的所有元素都退一位 
  23.  
  24.         if($i<=$sqlist->length){//要插入的位置不是在尾部 
  25.  
  26.                 for($k=$sqlist->length-1;$k>=$i-1;$k--){ 
  27.  
  28.                         $sqlist->data[$k+1]=$sqlist->data[$k]; 
  29.  
  30.                 }    
  31.  
  32.         }    
  33.  
  34.         //新元素插入 
  35.  
  36.         $sqlist->data[$i-1]=$e
  37.  
  38.         //長(zhǎng)度加1 
  39.  
  40.         $sqlist->length++; 
  41.  
  42.         return true; 
  43.  
  44.  
  45. //獲取元素 
  46.  
  47. function getElement($sqlist,$i,&$e){ 
  48.  
  49.         if($sqlist->length==0 || $i<1 || $i>$sqlist->length){ 
  50.  
  51.                 return false; 
  52.  
  53.         }    
  54.  
  55.         $e=$sqlist->data[$i-1]; 
  56.  
  57.         return true; 
  58.  
  59.  
  60. //刪除元素 
  61.  
  62. function listDelete($sqlist,$i,&$e){ 
  63.  
  64.         if($sqlist->length==0 || $i<1 || $i>$sqlist->length){ 
  65.  
  66.                 return false; 
  67.  
  68.         }    
  69.  
  70.         $e=$sqlist->data[$i-1]; 
  71.  
  72.         //如果是最后一個(gè)元素 
  73.  
  74.         if($i!=$sqlist->length){ 
  75.  
  76.                 //在刪除位置之后的元素,往前移動(dòng)一位 
  77.  
  78.                 for($k=$i-1;$k<=$sqlist->length-1;$k++){ 
  79.  
  80.                         $sqlist->data[$k]=$sqlist->data[$k+1]; 
  81.  
  82.                 }    
  83.  
  84.         }    
  85.  
  86.         $sqlist->length--; 
  87.  
  88.  
  89. //插入線性表 
  90.  
  91. $sqlist=new Sqlist(); 
  92.  
  93. listInsert($sqlist,1,"Tau"); 
  94.  
  95. listInsert($sqlist,1,"Shihan"); 
  96.  
  97. //獲取元素 
  98.  
  99. $e=""
  100.  
  101. getElement($sqlist,2,$e); 
  102.  
  103. echo $e."/n";//輸出Tau 
  104.  
  105. //刪除元素 
  106.  
  107. listDelete($sqlist,1,$e); 
  108.  
  109. var_dump($sqlist); 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 内江市| 澄迈县| 于田县| 嘉黎县| 长阳| 山阴县| 衡山县| 永福县| 四子王旗| 麻栗坡县| 健康| 鄂温| 通化县| 公主岭市| 辽宁省| 泰顺县| 敖汉旗| 巴彦淖尔市| 白玉县| 碌曲县| 泰宁县| 仪陇县| 介休市| 永宁县| 同江市| 博罗县| 南康市| 道孚县| 荆门市| 旅游| 滦南县| 恩施市| 杭锦旗| 行唐县| 丹寨县| 洛川县| 交口县| 曲麻莱县| 海盐县| 新安县| 西乌珠穆沁旗|