串,也就是字串,是由零個字元或多個字元組成的有限序列。記為s=『a1 a2 a3…an』(n>=0),其中,s是串的名字,用單引號括起來的字串行是串的值,每乙個a都可以是字母,數字或其他字元,n是串中字元的個數,稱為串的長度,n=0時的串成為空串。
需要特別指出的是,串值必須使用一對單引號括起來(c語言的串是用雙引號括起來的),但引號是界限符,他不屬於串,只是作為乙個標誌,避免和其他變數相互混淆。
子串:串中任意個連續的字元組成的子串行稱為該串的子串。
主串:包含子串的串稱為主串,可以理解為高中學的集合,子串是主串的子集。
子串在主串中的位置:通常將字元在串中的序號稱為該字串在串中的位置,子串在主串中的位置則以子串的第乙個字元在主串中的位置來表示。
例如:串a=『huagoufdog2506897252』 , 串b=『huagou』 , 串c=『fdog』
a的長度是20,b是6,c是4,而b在a的位置是1,c在a的位置是7。
串相等:當且僅當兩個串的值相等時,才稱這兩個串相等,即只有兩個的數值相等,且對應位置的字元都相等。
空串和空格串的的區別是空格串由乙個或者多個空格,而空串是無任何字元。
定長順序串是將串設計成一種靜態結構型別,串的儲存分配是在編譯時完成的。與前面所講的線性表順序儲存結構類似,可用一組位址連續儲存單元來儲存串的字串行。
//插入後串長》maxsize 但串t的字串行可以全部插入
for(i =
0; i < t.len; i++
) s->len = maxsize;
}else
//插入後串長》maxsize,並且串t的部分字元也要捨棄
}return0;
}
int
strdelete
(string * s,
int pos,
int len)
s->len = s->len - len;
//s串長減len
return0;
}
int
strcompare
(string s, string t)
return s.len - t.len;
}
資料結構線性表之定長順序表
pragma once 預防標頭檔案被重複引用 定長順序表 define size 10 typedef struct seqlist seqlist,pseqlist 44 然後我們定義將要用到的函式 void initseqlist pseqlist ps 初始化順序表 bool insert ...
資料結構 線性表中的順序表 定長順序表
順序表是在計算機記憶體中以陣列的形式儲存的線性表,線性表的順序儲存是指用一組位址連續的儲存單元依次儲存線性表中的各個元素 使得線性表中在邏輯結構上相鄰的資料元素儲存在相鄰的物理儲存單元中,即通過資料元素物理儲存的相鄰關係來反映資料元素之間邏輯上的相鄰關係,採用順序儲存結構的線性表通常稱為順序表。順序...
定長順序串 C語言
題目 用定長順序串編寫下列演算法 1.將順序串r中所有值為ch1的字元轉換成ch2的字元。2.將順序串r中所有字元按照相反次序仍存放在r中。3.從順序串r中刪除其值等於ch的所有字元。4.從順序串r1中第index個字元起求首次與串r2相同的子串的起始位置。5.從順序串r中刪除所有與串r1相同的子串...