[PHP 학습] 선형 테이블의 순차 저장 구조 원리 분석 및 코드 예제

little bottle
풀어 주다: 2023-04-06 11:16:01
앞으로
1822명이 탐색했습니다.

이 기사에서는 주로 선형 테이블의 순차 저장 구조 원리 분석과 코드 예제에 대해 설명합니다. 여기에는 특정 참조 가치가 있으며 관심 있는 친구들이 이에 대해 배울 수 있습니다.

1. PHP의 배열은 실제로 배열, 목록, 해시 테이블, 사전, 세트, ​​스택, 큐로 사용할 수 있으며 고정된 길이가 아닌 배열 정의의 여러 단위를 사용합니다. 3. 함수의 매개변수가 항상 참조로 전달되도록 하려면 함수 정의에서 매개변수 앞에 & 기호를 추가하면 됩니다. 4. PHP 참조 별칭입니다. 즉, 두 개의 서로 다른 변수 이름이 동일한 내용을 가리킵니다. "기본적으로 개체는 참조로 전달됩니다." 그러나 실제로 이는 완전히 올바른 것은 아닙니다. 객체가 매개변수로 전달되거나 결과로 반환되거나 다른 변수에 할당되면 다른 변수는 원래 변수와 참조 관계가 없지만 둘 다 동일한 복사본을 저장합니다. 식별자

<?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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
php
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿