[PHP Learning] Analyse du principe de structure de stockage séquentiel des tables linéaires et exemples de code

little bottle
Libérer: 2023-04-06 11:16:01
avant
1822 Les gens l'ont consulté

Cet article parle principalement de l'analyse du principe de structure de stockage séquentiel des tables linéaires et des exemples de code. Il a une certaine valeur de référence et les amis intéressés peuvent en apprendre davantage.

1. Les tableaux en PHP sont en fait des cartes ordonnées, qui peuvent être utilisées comme tableaux, listes, tables de hachage, dictionnaires, ensembles, piles, files d'attente et ne sont pas de longueurs fixes
2. les unités utilisent toutes le même nom de clé, seul le dernier est utilisé, et les précédents sont écrasés
3. Si vous souhaitez qu'un paramètre de la fonction soit toujours passé par référence, vous pouvez l'ajouter devant le paramètre dans la définition de la fonction Symbole &
4. Les références PHP sont des alias, c'est-à-dire que deux noms de variables différents pointent vers le même contenu ; "Par défaut, les objets sont passés par référence." Mais en fait, ce n'est pas tout à fait correct. Lorsqu'un objet est passé en paramètre, renvoyé comme résultat ou assigné à une autre variable, l'autre variable n'a aucune relation de référence avec celle d'origine, mais elles stockent toutes deux des copies de la même. identifiant

<?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);
Copier après la connexion

Tutoriels associés : Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal