코드 복사 코드는 다음과 같습니다.
/*
*파일명: LinearList. php
* 기능: 데이터 구조 선형 테이블의 순차 저장 구현
* 작성자:Li Jinhuan
* @copyright:www.drw1314.com
*/
class LinearList {
private $arr;
private $length;
const MAXSIZE=100;
/*
* 테이블이 비어 있는지 확인하고 인스턴스화하는 생성자
* @param array $arr input Array
* @param int $n 입력 배열의 길이
* @ruturn void
*/
function __construct($arr,$n) {
if($n> ;self: :MAXSIZE) {
echo '죄송합니다. '.$n.' 배열의 길이가 메모리 공간을 초과했습니다!'.self::MAXSIZE
} else if($n<0) {
echo ' 예외, 길이는 음수일 수 없습니다. ';
} else if($n==0) {
echo '
....배열 길이가 0인 빈 테이블을 생성했습니다....
';
$this->arr=$arr
$this->length=$n
}else{
echo '
....테이블이 생성되었습니다....
'
$this->arr=$arr
$this-> length=$n;
}
}
/*
*비트 검색, 찾은 값 반환
* @ruturn string
* @param int $n 검색 위치
*/
function findValue($n) {
if($n>$this->length||$n<1){
return '입력 위치'.$n이 올바르지 않습니다. , 1에서 '.$this->length.' 사이에 있어야 합니다.
}
return '찾고 있는 '.$n.'번째 위치의 값은 $this입니다. ->arr[$n-1];
}
/*
* 값으로 검색하고 찾은 위치를 반환합니다.
* @ruturn string
* @param int $n value; 찾기
*/
function findSite($n) {
for($i=0;$i<$this->length;$i ){
if($ this-> ;arr[$i]==$n){
$b=$i 1;
'찾고 있는 값'.$n'을 반환합니다.
}else{
$v=false;
}
}
if(!$v){
return '찾고 있는 값'.$n이 없습니다. ';
}
}
/*
*선택한 위치에 값을 삽입합니다
* @ruturn array;
* @param int $i 삽입 위치
* @ param int $v 삽입된 값
*/
function insertValue($i,$v) {
if($i<1||$i>self::MAXSIZE){
echo 'The 삽입된 위치 '.$i.'가 올바르지 않습니다. 1~'.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;
/*
* 값 삭제 선택한 위치
* @ruturn array;
* @param int $i position
*/
function deleteValue($i) {
if($i< 1||$i> $this->length){
echo '선택한 위치 '.$i.'가 올바르지 않습니다. '.$this->length' 사이에 있어야 합니다.
🎜>}
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 '
';
}else{
echo '
...테이블을 성공적으로 삭제합니다..
}
}
//다음은 사용 사례입니다
$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 ''; pre>';