創(chuàng)新互聯(lián)www.cdcxhl.cn八線動態(tài)BGP香港云服務(wù)器提供商,新人活動買多久送多久,劃算不套路!
今天就跟大家聊聊有關(guān)串的結(jié)構(gòu)是什么,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
串是一種線性存儲結(jié)構(gòu),因為字符串中的字符之間也具有“一對一”的邏輯關(guān)系。只不過,與之前所學(xué)的線性存儲結(jié)構(gòu)不同,串結(jié)構(gòu)只用于存儲字符類型的數(shù)據(jù)。
數(shù)據(jù)結(jié)構(gòu)中,字符串要單獨用一種存儲結(jié)構(gòu)來存儲,稱為串存儲結(jié)構(gòu)。這里的串指的就是字符串。
嚴格意義上講,串存儲結(jié)構(gòu)也是一種線性存儲結(jié)構(gòu),因為字符串中的字符之間也具有"一對一"的邏輯關(guān)系。只不過,與之前所學(xué)的線性存儲結(jié)構(gòu)不同,串結(jié)構(gòu)只用于存儲字符類型的數(shù)據(jù)。
無論學(xué)習(xí)哪種編程語言,操作最多的總是字符串。數(shù)據(jù)結(jié)構(gòu)中,根據(jù)串中存儲字符的數(shù)量及特點,對一些特殊的串進行了命名,比如說:
空串:存儲 0 個字符的串,例如 S = ""(雙引號緊挨著);
空格串:只包含空格字符的串,例如 S = " "(雙引號包含 5 個空格);
子串和主串:假設(shè)有兩個串 a 和 b,如果 a 中可以找到幾個連續(xù)字符組成的串與 b 完全相同,則稱 a 是 b 的主串,b 是 a 的子串。例如,若 a = "shujujiegou",b = "shuju",由于 a 中也包含 "shuju",因此串 a 和串 b 是主串和子串的關(guān)系;
需要注意的是,空格串和空串不同,空格串中含有字符,只是都是空格而已。另外,只有串 b 整體出現(xiàn)在串 a 中,才能說 b 是 a 的子串,比如 "shujiejugou" 和 "shuju" 就不是主串和子串的關(guān)系。
另外,對于具有主串和子串關(guān)系的兩個串,通常會讓你用算法找到子串在主串的位置。子串在主串中的位置,指的是子串首個字符在主串中的位置。
例如,串 a = "shujujiegou",串 b = "jiegou",通過觀察,可以判斷 a 和 b 是主串和子串的關(guān)系,同時子串 b 位于主串 a 中第 6 的位置,因為在串 a 中,串 b 首字符 'j' 的位置是 6。
串存儲結(jié)構(gòu)的具體實現(xiàn)
存儲一個字符串,數(shù)據(jù)結(jié)構(gòu)包含以下 3 種具體存儲結(jié)構(gòu):
定長順序存儲:實際上就是用普通數(shù)組(又稱靜態(tài)數(shù)組)存儲。例如 C 語言使用普通數(shù)據(jù)存儲字符串的代碼為 char a[20] = "data.biancheng.net";
堆分配存儲:用動態(tài)數(shù)組存儲字符串;
塊鏈存儲:用鏈表存儲字符串;
看完上述內(nèi)容,你們對串的結(jié)構(gòu)是什么有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)站欄目:串的結(jié)構(gòu)是什么-創(chuàng)新互聯(lián)
當(dāng)前URL:http://sd-ha.com/article14/jjjde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站營銷、做網(wǎng)站、商城網(wǎng)站、網(wǎng)站改版、自適應(yīng)網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容