字串是一種線性儲存結構,因為字串中的字元之間也具有「一對一」的邏輯關係。只不過,與先前所學的線性儲存結構不同,而串結構只用於儲存字元類型的資料。
資料結構中,字串要單獨用一種儲存結構來存儲,稱為字串儲存結構。這裡的串指的就是字串。
嚴格意義上講,字串儲存結構也是線性儲存結構,因為字串中的字元之間也具有"一對一"的邏輯關係。只不過,與先前所學的線性儲存結構不同,而串結構只用於儲存字元類型的資料。
無論學習哪種程式語言,操作最多的總是字串。在資料結構中,根據字串中儲存字元的數量及特點,對一些特殊的字串進行了命名,比如說:
空串:儲存0 個字元的字串,例如S = ""(雙引號緊鄰);
空格串:只包含空格字元的串,例如S = " "(雙引號包含5 個空格);
子字串和主字串:假設有兩個字串a 和b,如果a 中可以找到幾個連續字元組成的字串與b 完全相同,則稱a 是b 的主字串, b 是a 的子字串。例如,若a = "shujujiegou",b = "shuju",由於a 中也包含"shuju",因此串a 和串b 是主字串和子字串的關係;
#要注意的是,空格串和空串不同,空格串含有字符,只是都是空格而已。另外,只有串 b 整體出現在串 a 中,才能說 b 是 a 的子串,例如 "shujiejugou" 和 "shuju" 就不是主串和子串的關係。
另外,對於兩個具有主串和子串關係的串,通常會讓你用演算法找到子串在主串的位置。子串在主串中的位置,指的是子串首個字元在主串中的位置。
例如,字串a = "shujujiegou",字串b = "jiegou",透過觀察,可以判斷a 和b 是主串和子字串的關係,同時子字串b 位於主串a 中第6 的位置,因為在串列a 中,串列b 首字'j' 的位置是6。
字串儲存結構的具體實作
儲存一個字串,資料結構包含以下3 個特定儲存結構:
定長順序儲存:實際上就是用普通陣列(又稱靜態陣列)儲存。例如C 語言使用普通資料儲存字串的程式碼為char a[20] = "data.biancheng.net";
堆疊分配儲存:用動態陣列儲存字串;
區塊鏈儲存:用鍊錶儲存字串;
#更多相關知識,請存取:PHP中文網 !
以上是串是什麼結構?的詳細內容。更多資訊請關注PHP中文網其他相關文章!