首頁  >  文章  >  串是什麼結構?

串是什麼結構?

青灯夜游
青灯夜游原創
2020-07-18 12:08:0524504瀏覽

字串是一種線性儲存結構,因為字串中的字元之間也具有「一對一」的邏輯關係。只不過,與先前所學的線性儲存結構不同,而串結構只用於儲存字元類型的資料。

串是什麼結構?

資料結構中,字串要單獨用一種儲存結構來存儲,稱為字串儲存結構。這裡的串指的就是字串。

嚴格意義上講,字串儲存結構也是線性儲存結構,因為字串中的字元之間也具有"一對一"的邏輯關係。只不過,與先前所學的線性儲存結構不同,而串結構只用於儲存字元類型的資料。

無論學習哪種程式語言,操作最多的總是字串。在資料結構中,根據字串中儲存字元的數量及特點,對一些特殊的字串進行了命名,比如說:

  • 空串:儲存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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn