1、實驗目的:
(1)掌握串的概念。
(2)理解串的儲存結構。
(3)能夠基於串的相應儲存結構實現串的常用操作。
2、實驗環境與裝置:
已安裝visual studio 2010(或其以上版本)整合開發環境的計算機。
3、實驗原理:
(1)串的定長順序儲存結構。
(2)串的常用操作實現。
4、實驗內容:
基於串的定長順序儲存結構實現串的常用操作,並舉例演示。
// 預定義常量
#define true 1
#define false 0
#define ok 1
#define error 0
#define infeasible -1
#define overflow -2
// 預定義型別
typedef
int status;
// 本程式定義常量,串的最大長度為255
#define maxstrlen 255
// 本程式定義型別,定長順序儲存的串,0號位置儲存串長。
typedef
unsigned
char sstring[ maxstrlen +1]
;//串的初始化操作,用字元陣列chars初始化串t
status strassign
( sstring t,
char
*chars )
//串的求長度操作
intstrlength
( sstring s )
//串的比較操作,若s>t,則返回1;若s=t,則返回0;若sint
strcompare
( sstring s, sstring t )
//串的清空操作,將得到空串
status clearstring
( sstring s)
//串2聯接到串1之後,得到新串t
status concat
( sstring t, sstring s1, sstring s2 )
//串的列印操作
void
printstring
( sstring s )
5、實驗考核:
(1)完成紙質版實驗報告
(2)提交電子版作業
6、執行結果示例如下:
來了來了
#include
#include
// 預定義常量
#define true 1
#define false 0
#define ok 1
#define error 0
#define infeasible -1
#define overflow -2
// 預定義型別
typedef
int status;
// 本程式定義常量,串的最大長度為255
#define maxstrlen 255
// 本程式定義型別,定長順序儲存的串,0號位置儲存串長。
typedef
unsigned
char sstring[maxstrlen +1]
;//串的初始化操作,用字元陣列chars初始化串t
status strassign
(sstring t,
char
*chars)
else
return ok;}}
//串的求長度操作
intstrlength
(sstring s)
//串的比較操作,若s>t,則返回1;若s=t,則返回0;若sint
strcompare
(sstring s, sstring t)
else
}return0;
}return s[0]
> t[0]
?1:-
1;}//串的清空操作,將得到空串
status clearstring
(sstring s)
//串2聯接到串1之後,得到新串t
status concat
(sstring t, sstring s1, sstring s2)
if(s1[0]
+s2[0]
<=maxstrlen)
t[0]
= s1[0]
+ s2[0]
;return ok;
}else
t[0]
= maxstrlen;
return error;}}
//串的列印操作
void
printstring
(sstring s)
}else
printf
("\n");
}int
main()
printf
("*********************************************\n");
if(concat
(s3,s1,s2)
)else
printf
("*********************************************\n");
printf
("清空字串s3\n");
clearstring
(s3)
;printf
("清空後,s3的長度為:%d\n"
C語言資料結構 六 ,串
c語言資料結構 嚴蔚敏,吳偉民版。以下內容為串 串或字串 sting 由零個或者多個字元組成的有限序列。串長度 串中字元的數目n,稱為串的長度。空串 零個字元的串。子串 串中任意個連續的字元組成的子串行。主串 包含子串的的串。空格串 blank string 由乙個或多個空格組成的串。串的抽象資料型...
資料結構實驗六 鏈佇列
include include int flag 0 typedef struct qnode qnode,qnodeptr typedef struct linkqueue linkqueue void initqueue linkqueue q void createqueue linkqueu...
資料結構與演算法 實驗六
1 設矩陣a 矩陣b和矩陣c為採用壓縮儲存方式儲存的n階對角矩陣,矩陣元素為整數型別,要求 1 編寫實現矩陣加法運算c a b的函式 2 編寫實現矩陣乘法運算c a b的函式 3 以下面的資料為測試例子,編寫乙個主程式進行測試 include include include head.h void ...