1、串的
adt定義
及基本操作
adt string adt string
基本操作
13個
串賦值strassign(
&t,chars)
串複製strcopy(
&t,s)
判空串strempty (s)
串比較strcompare (s,t)
求串長strlength (s)
串清空clearstring (&s)
串聯結concat (
&t,s1,s2)
取子串strstring
串匹配index (s,t,pos)
串置換replace (
&s,pos,t)
串插入strinsert (
&s,pos,t)
刪子串strdelete (
&s,pos,len)
串銷毀desroysring (&s)
2、定位函式
index(s, t, pos )的基本思想及實現。
演算法思想
逐字元逐位比較s串和
t串,不相等時向後移位繼續比較,直至匹配,輸出
i,或到
s尾終止。
int index (string s,string t,int pos ) ∥while
}∥if
return 0 ;
} ∥index
3、串的
定長順序儲存表示
用定長陣列。長出截斷
!(例,檔案/人名8位
)定義adt儲存表示
maxstrlen=256 char[0.255] 0
位放串長
#define maxstrlen 255
typedef unsigned char sstring[maxstrlen +1 ];
4、串的連線
concat( &t, s1, s2 )
幾種連線情況的討論
s1 + s2 àt
①s1.len + s2.len
≤maxstrlen
s1, s2
全部拼入t ②
s1.len< maxstrlen s1.len + s2.len > maxstrlen
s1全部
, s2
部分拼入t③
s1.len= maxstrlen
t=s1
演算法思想:分情況拼接串。
超長截斷
演算法4.2 p73
5、求取子串
substring( &sub, s, pos, len )
*pos、len的合理性
status substring (sstring &sub,sstring s,int pos,int len) ∥substring
6、串的堆分配儲存表示
用一組連續的儲存單元存放。
typedef struct hstring
通常,
c語言中提供的串型別就是以這種儲存方式實現的。系統利用函式
malloc( )
和free( )
進行串值空間的動態管理,為每乙個新產生的串分配乙個儲存區,稱串值共享的儲存空間為「堆」。
c語言中的串以乙個空字元為結束符,串長是乙個隱含值。
這類串操作的實現演算法為
:先為新生成的串分配乙個儲存空間,然後進行串值的複製。
7、串插入
strinsert( hstring &s, int pos, hstring t )演算法
status strinsert (hstring &s, int pos, hstring t)
return ok ;
}∥strinsert
8、堆上的其它
6個操作
串複製strassign ( hstring &t, char *chars );原t
如存在,釋放,另存另分。
求串長strength ( hstring s )
串比較strcompare ( hstring s, hstring t )
串清空clearstring ( hstring &s )
串聯接concat ( hstring &t, hstring s1, hstring s2 )原t
如存在,釋放,另分,拼
s1,s2存入t
的store
區取子串
substring ( hstring s, int pos, int len )
例:漢字:字碼
字模字型檔
字型大小字型
……雷射列印一字一k五筆
/全拼16×16 32
位元組9、串賦值
strassingn( hstring &t, char *chars )
status strassingn( hstring &t,char *chars )
else
t.length= i ;
return ok ;
}∥strinsert
'); (window.slotbydup = window.slotbydup || ).push(); })();
'); (window.slotbydup = window.slotbydup || ).push(); })();
關於 ping 一下,你知道哪些?
ping packet internet groper 網際網路包探索器,dos命令中的一種典型的網路診斷工具。ping 是用來檢測本機與網路中另一台主機 即ping後面的目標ip 之間是否可以傳達命令。如果兩台主機之間ping不通,則表明這兩台主機不能建立起連線。它是定位網路通不通的乙個重要手段。...
blog 你知道哪些? 也許對你有用
站點名稱 google自己的部落格 簡單介紹 google自己的部落格,非常容易申請gg廣告 站點名稱 和訊部落格 簡單介紹 財經 人士用得比較多,做ggad的話還是很合適的 站點名稱 中翼網部落格 站點名稱 歪酷部落格 站點名稱 中華網部落格 站點名稱 部落格龍 簡單介紹 比較簡單,裡面提供免費部...
關於 define你知道多少?
編譯乙個c c 程式需要很多步驟,通常,我們第一步都是預處理階段,它的主要任務包括 刪除注釋,插入被include包含的檔案內容,定義和替換,以及確定 部分參與編譯的內容。預定義符號是由預處理器定義的符號,它的值一般是字串常量或者是十進位制的數字常量 符 號 含 義 例 子 file 進行編譯的源檔...