新聞中心
創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務器提供商,新人活動買多久送多久,劃算不套路!
今天就跟大家聊聊有關串的結構是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
串是一種線性存儲結構,因為字符串中的字符之間也具有“一對一”的邏輯關系。只不過,與之前所學的線性存儲結構不同,串結構只用于存儲字符類型的數(shù)據(jù)。
數(shù)據(jù)結構中,字符串要單獨用一種存儲結構來存儲,稱為串存儲結構。這里的串指的就是字符串。
嚴格意義上講,串存儲結構也是一種線性存儲結構,因為字符串中的字符之間也具有"一對一"的邏輯關系。只不過,與之前所學的線性存儲結構不同,串結構只用于存儲字符類型的數(shù)據(jù)。
無論學習哪種編程語言,操作最多的總是字符串。數(shù)據(jù)結構中,根據(jù)串中存儲字符的數(shù)量及特點,對一些特殊的串進行了命名,比如說:
空串:存儲 0 個字符的串,例如 S = ""(雙引號緊挨著);
空格串:只包含空格字符的串,例如 S = " "(雙引號包含 5 個空格);
子串和主串:假設有兩個串 a 和 b,如果 a 中可以找到幾個連續(xù)字符組成的串與 b 完全相同,則稱 a 是 b 的主串,b 是 a 的子串。例如,若 a = "shujujiegou",b = "shuju",由于 a 中也包含 "shuju",因此串 a 和串 b 是主串和子串的關系;
需要注意的是,空格串和空串不同,空格串中含有字符,只是都是空格而已。另外,只有串 b 整體出現(xiàn)在串 a 中,才能說 b 是 a 的子串,比如 "shujiejugou" 和 "shuju" 就不是主串和子串的關系。
另外,對于具有主串和子串關系的兩個串,通常會讓你用算法找到子串在主串的位置。子串在主串中的位置,指的是子串首個字符在主串中的位置。
例如,串 a = "shujujiegou",串 b = "jiegou",通過觀察,可以判斷 a 和 b 是主串和子串的關系,同時子串 b 位于主串 a 中第 6 的位置,因為在串 a 中,串 b 首字符 'j' 的位置是 6。
串存儲結構的具體實現(xiàn)
存儲一個字符串,數(shù)據(jù)結構包含以下 3 種具體存儲結構:
定長順序存儲:實際上就是用普通數(shù)組(又稱靜態(tài)數(shù)組)存儲。例如 C 語言使用普通數(shù)據(jù)存儲字符串的代碼為 char a[20] = "data.biancheng.net";
堆分配存儲:用動態(tài)數(shù)組存儲字符串;
塊鏈存儲:用鏈表存儲字符串;
看完上述內(nèi)容,你們對串的結構是什么有進一步的了解嗎?如果還想了解更多知識或者相關內(nèi)容,請關注創(chuàng)新互聯(lián)-成都網(wǎng)站建設公司行業(yè)資訊頻道,感謝大家的支持。
當前名稱:串的結構是什么-創(chuàng)新互聯(lián)
當前鏈接:http://fisionsoft.com.cn/article/jjjde.html