本篇文章主要講述的是線性表的順序存儲(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í)符的拷貝
- <?php
- class Sqlist{
- public $data=array();
- public $length=0;
- }
- //插入元素
- function listInsert(&$sqlist,$i,$e){
- //位置是否超出范圍
- if($i<1 && $i>$sqlist->length+1){
- return false;
- }
- //從插入位置開始,后面的所有元素都退一位
- if($i<=$sqlist->length){//要插入的位置不是在尾部
- for($k=$sqlist->length-1;$k>=$i-1;$k--){
- $sqlist->data[$k+1]=$sqlist->data[$k];
- }
- }
- //新元素插入
- $sqlist->data[$i-1]=$e;
- //長(zhǎng)度加1
- $sqlist->length++;
- return true;
- }
- //獲取元素
- function getElement($sqlist,$i,&$e){
- if($sqlist->length==0 || $i<1 || $i>$sqlist->length){
- return false;
- }
- $e=$sqlist->data[$i-1];
- return true;
- }
- //刪除元素
- function listDelete($sqlist,$i,&$e){
- if($sqlist->length==0 || $i<1 || $i>$sqlist->length){
- return false;
- }
- $e=$sqlist->data[$i-1];
- //如果是最后一個(gè)元素
- if($i!=$sqlist->length){
- //在刪除位置之后的元素,往前移動(dòng)一位
- for($k=$i-1;$k<=$sqlist->length-1;$k++){
- $sqlist->data[$k]=$sqlist->data[$k+1];
- }
- }
- $sqlist->length--;
- }
- //插入線性表
- $sqlist=new Sqlist();
- listInsert($sqlist,1,"Tau");
- listInsert($sqlist,1,"Shihan");
- //獲取元素
- $e="";
- getElement($sqlist,2,$e);
- echo $e."/n";//輸出Tau
- //刪除元素
- listDelete($sqlist,1,$e);
- var_dump($sqlist);
新聞熱點(diǎn)
疑難解答