<?php實現上述函式:header("content-type:text/html;charset=utf-8");
class
linear_string
//生成乙個值等於字串常量chars的串
public
function strassign($chars=null
)
$this->string = substr($this->string,0,strlen($chars));//
將初始字串截斷的和chars一樣長
for($i = 0;$i
}//返回串的元素個數,即串的長度
public
function
strlength()
//返回串的自第pos個字元起長度為len的子串
public
function substring($pos,$len
)else
$sub = implode("",$sub
);
return
$sub
; }
}//將string1和string2連線成乙個新串
public
function concat($string1,$string2
)
for($i=0;$i
length;$i++)}}
//比較兩個串的大小,若string1>string2,則返回值》0;若string1=string2,則返回值=0;若string1public
function strcompare($string1,$string2
) }
return
$string2->length - $string1->length;//
退出迴圈證明兩串長度相等部分的內容是一樣的,而此時若長度不等,再進行相減,得出結果
}
//在串的第pos個字元起長度為len的子串
public
function strinsert($pos,$string
)
$this->length += $string->length;
for($i = $this->length;$i>=$pos;$i--)
for($i=$pos;$i
length;$i++)
}//從串的第pos個字元之前刪除長度為len的子串
public
function strdelete($pos,$len
)
for($i=$pos+$len;$i
length;$i++)
$this->length -= $len
;
$this->string = substr($this->string,0,$this->length);
}//若主串中第pos個字元之後存在與string相等的子串,則返回串string在主串中第一次出現的位置
public
function index($pos,$string
)
$length = $this->length;
$length_sub = $string->length;
$i = $pos
;
while($i
else
return$i;
}return 0;
}}?>
<?php最後的實現結果:header("content-type:text/html;charset=utf-8");
include 'linear_string.class.php';
$string = "xiaolinzifendoudediandi";
echo "初始化串:";
echo "
";$linear_string = new linear_string($string
);print_r($linear_string
);echo "
";echo "
";echo "獲取2到5的子串:";
echo "
";$sub = $linear_string->substring(2,5);
echo($sub
);echo "
";echo "
";echo "連線兩個串lin和qinhua:";
echo "
";$string1 = new linear_string("lin");
$string2 = new linear_string("qinhua");
$linear_string->concat($string1,$string2
);print_r($linear_string
);echo "
";echo "
";echo "比較兩個串zuasha和zuashan的大小:";
echo "
";$string1 = new linear_string("zuasha");
$string2 = new linear_string("zuashan");
$strcom = $linear_string->strcompare($string1,$string2
);echo($strcom
);echo "
";echo "
";echo "在索引3處插入乙個子串xinru:";
echo "
";$string = new linear_string("xinru");
$linear_string->strinsert(3,$string
);print_r($linear_string
);echo "
";echo "
";echo "在索引3處刪除乙個長度為5的子串:";
echo "
";$linear_string->strdelete(3,5);
print_r($linear_string
);echo "
";echo "
";echo "若主串中第3個字元之後存在與in相等的子串,則返回串in在主串中第一次出現的位置:";
echo "
";$string = new linear_string("in");
$index = $linear_string->index(3,$string
);echo
$index
;?>
串 順序儲存結構
該文章主要介紹串的順序儲存結構以及相關運算。標頭檔案 sqstring.h ifndef sqstring h define sqstring h include const int maxsize 100 class sqstringclass 順序串類 endif 原始檔 sqstring.cp...
4 2串的順序儲存結構
定長順序串是將串設計成一種靜態結構型別,串的儲存分配是在編譯時完成的。與前面所講的線性表的順序儲存結構類似,可用一組位址連續的儲存單元儲存串的字串行。定長順序串型別定義如下 define maxlen 40 typedef struct sstring 其中 maxlen 表示串的最大長度,ch 是...
資料結構筆記 4 1 棧的順序儲存結構及實現
1 概念 棧的順序儲存結構通常是特殊的順序儲存線性表。2 功能 實現 1 棧的順序儲存結構的儲存結構 typedef struct sqstack sqstack,sqstackpointer 2 初始化棧 分配空間 void initstack sqstackpointer s 3 入棧 int ...