Copy code The code is as follows:
/*
*File name: linearList.php
* Function: Sequential storage implementation of data structure linear table
* author: Li Jinhuan
* @copyright :www.drw1314.com
*/
class linearList {
private $arr;
private $length;
const MAXSIZE=100;
/*
*Constructor, determine whether the list is empty or empty, and instantiate it
* @param array $arr The input array
* @param int $n The length of the input array
* @ruturn void;
*/
function __construct($arr,$n) {
if($n>self::MAXSIZE ) {
echo 'Sorry, the length of the array '.$n.' exceeds the memory space!'.self::MAXSIZE;
} else if($n<0) {
echo 'Exception, the length cannot be a negative number. ';
} else if($n==0) {
echo '
....You created an empty table with an array length of 0....
';
$this->arr=$arr;
$this->length=$n;
}else{
echo '
....A table was successfully created. ...
';
$this->arr=$arr;
$this->length=$n;
}
}
/*
*Bitwise Search, return the value found
* @ruturn string;
* @param int $n The position to find
*/
function findValue($n) {
if($n>$this->length||$n< ;1){
return 'The input position '.$n.' is incorrect, please be in the range of 1 to '.$this->length.';
}
return 'The position you are looking for'. The value of bit $n.' is '.$this->arr[$n-1];
}
/*
*Search by value and return the found position
* @ruturn string;
* @param int $n value to find
*/
function findSite($n) {
for($i=0;$i<$this->length;$i++){
if($this->arr[$i ]==$n){
$b=$i+1;
return 'The value you are looking for'.$n.' corresponds to '.$b;
}else{
$v=false;
}
}
if(!$v){
return 'The value you are looking for'.$n.' does not exist';
}
}
/*
*Insert a value at the selected position
* @ruturn array;
* @param int $i insertion position
* @param int $v inserted value
*/
function insertValue($i,$v) {
if($i<1||$i>self ::MAXSIZE){
echo 'The inserted position '.$i.' is incorrect, please be in the range of 1 to '.self::MAXSIZE.';
return ;
}
for($h=$this ->length;$h>=$i;$h--){
$this->arr[$h]=$this->arr[$h-1];
}
if($i> ;$this->length){
$this->arr[$this->length]=$v;
}else{
$this->arr[$i-1]=$v;
}
$this->length++;
return $this->arr;
}
/*
*Delete a value at the selected position
* @ruturn array;
* @param int $i position
* /
function deleteValue($i) {
if($i<1||$i>$this->length){
echo 'The selected position'.$i.' is incorrect, please change 1 to' .$this->length.';
return ;
}
for($j=$i;$j<$this->length;$j++){
$this->arr[ $j-1]=$this->arr[$j];
}
unset($this->arr[$this->length-1]);
$this->length--;
return $this->arr;
}
function __destruct(){
if($this->length==0){
echo '
...Destroy an empty table...< ;br/>';
}else{
echo '
...successfully destroyed a table..
';
}
}
}
//The following is the use Case
$arr=array(10,125,123,1,4);
$n=5;
$linearList=new linearList($arr, $n);
echo $linearList->findValue(5).'
';
echo $linearList->findSite(4).'
';
echo '
'; <br>print_r($linearList->insertValue(20,300)); <br> echo '';
'; <br>print_r($linearList->deleteValue(1)); <br>echo '';
The above introduces the CF card bug, no blood loss, no error code, PHP linear table sequential storage, implementation of code addition, deletion, checking and modification, including the CF card bug, no blood loss, no error code, I hope it will be helpful to friends who are interested in PHP tutorials. .