ホームページ  >  記事  >  バックエンド開発  >  【PHP学習】線形テーブルの逐次記憶構造原理の解析とコード例

【PHP学習】線形テーブルの逐次記憶構造原理の解析とコード例

little bottle
little bottle転載
2019-04-25 15:55:501800ブラウズ

この記事では線形テーブルの逐次記憶構造の原理解析とコード例を中心に解説していますので、一定の参考価値があり、興味のある方はぜひ学んでみてください。

1. PHP の配列は実際には順序付けられたマッピングであり、配列、リスト、ハッシュ テーブル、辞書、セット、スタック、キューとして使用でき、固定長ではありません
2. 複数の配列定義ユニットはすべて同じキー名を使用し、最後のものだけが使用され、前のものは上書きされます
3. 関数のパラメーターを常に参照渡ししたい場合は、それをキーの前に追加できます。関数定義のパラメーター シンボル &
4.PHP の参照はエイリアスです。つまり、2 つの異なる変数名が同じ内容を指します。「デフォルトでは、オブジェクトは参照によって渡されます。」しかし、実際には、これは完全に正しいわけではなく、オブジェクトがパラメータとして渡されるか、結果として返されるか、または別の変数に代入される場合、他の変数には元の変数との参照関係はありませんが、両方の変数には同じオブジェクトのコピーが格納されます。識別子

<?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;
        //长度加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学習】線形テーブルの逐次記憶構造原理の解析とコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。