[PHP] 資料結構-線性表的順序儲存結構PHP實現

來源:互聯網
上載者:User

標籤:function   儲存   元素   擷取元素   刪除   散列表   線性表   sqli   函數   

1.PHP中的數組實際上是有序映射,可以當成數組,列表,散列表,字典,集合,棧,隊列,不是固定的長度
2.數組定義中多個單元都使用了同一個鍵名,則只使用了最後一個,之前的都被覆蓋了
3.想要函數的一個參數總是通過引用傳遞,可以在函數定義中該參數的前面加上符號 &
4.PHP 的引用是別名,就是兩個不同的變數名字指向相同的內容;“預設情況下對象是通過引用傳遞的”。但其實這不是完全正確的,當對象作為參數傳遞,作為結果返回,或者賦值給另外一個變數,另外一個變數跟原來的不是引用的關係,只是他們都儲存著同一個標識符的拷貝

<?phpclass 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;        //長度加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];        //如果是最後一個元素        if($i!=$sqlist->length){                //在刪除位元置之後的元素,往前移動一位                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);

  

[PHP] 資料結構-線性表的順序儲存結構PHP實現

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.