#include
#include
using
namespace std;
#define maxsize 20
void
initstr
(struct stringsq* p)
;//初始化
intstrlength
(struct stringsq* p)
;//求字串的長度
void
createstr
(struct stringsq* p)
;//建立
intemptystr
(struct stringsq* p)
;//判斷字串是否為空
void
printfstr
(struct stringsq* p)
;//輸出字串
void
strassign
(struct stringsq* p,
char temp)
;// 生成乙個其值等於字串chars的串
void
strcopy
(struct stringsq* p1,
struct stringsq* p2)
;//串p2存在,由串p2複製得串p1
void
clearstring
(struct stringsq* p)
;//將串s清空
intstrcompare
(struct stringsq* p1,
struct stringsq* p2)
;//比較字串大小
void
concat
(struct stringsq* t,
struct stringsq* p1,
struct stringsq* p2)
;//連線字串
void
insertstring
(struct stringsq* p1,
int pos,
const
struct stringsq* p2)
;//字串的插入操作
intdeletestr
(struct stringsq* p,
int i,
int j)
//刪除字串,從p1中刪除第i個字元開始的長度為j的子串
struct stringsq*
substring
(struct stringsq* p,
int i,
int j)
//返回串p中第i個字元起長度為j的子串
intindex
(struct stringsq* p1,
struct stringsq* p2)
//p1 p2均為非空串,若p1中存在子串與p2相等,返回位置。否則,返回0
struct stringsq
;void
initstr
(struct stringsq* p)
//初始化
intstrlength
(struct stringsq* p)
//求字串的長度
return i;
}void
createstr
(struct stringsq* p)
//建立
intemptystr
(struct stringsq* p)
//判斷字串是否為空
else
}void
printfstr
(struct stringsq* p)
//輸出字串
for(
int i =
0; i < p-
>length; i++
) cout<< endl;
}void
strassign
(struct stringsq* p,
char temp)
//生成乙個其值等於字串chars的串
p->length = i;
}void
strcopy
(struct stringsq* p1,
struct stringsq* p2)
//串p2存在,由串p2複製得串p1
p1->length = p2-
>length;
}void
clearstring
(struct stringsq* p)
//將串s清空
p->length =0;
}int
strcompare
(struct stringsq* p1,
struct stringsq* p2)
//比較字串大小
return
(p1-
>data[i]
- p2-
>data[i]);
}void
concat
(struct stringsq* t,
struct stringsq* p1,
struct stringsq* p2)
//連線字串
for(j =
0; j < p2-
>length; j++
) t-
>data[j]
='\0'
; t-
>length = p1-
>length + p2-
>length;
}void
insertstring
(struct stringsq* p1,
int pos,
const
struct stringsq* p2)
//字串的插入操作
for(
int j =
0; j < p2-
>length; j++
) p1-
>data[p1-
>length + p2-
>length]
='\0'
; p1-
>length = p1-
>length + p2-
>length;
}int
deletestr
(struct stringsq* p,
int i,
int j)
//刪除字串,從p1中刪除第i個字元開始的長度為j的子串
else
p->length = p-
>length - j;
p->data[p-
>length]
='\0'
;return1;
}}struct stringsq*
substring
(struct stringsq* p,
int i,
int j)
//返回串p中第i個字元起長度為j的子串
struct stringsq* str2 =
(struct stringsq*
)malloc
(sizeof
(struct stringsq));
int k;
for(k =
0; k < j; k++
) str2-
>length= j;
str2-
>data[j]
='\0'
;return str2;
}int
index
(struct stringsq* p1,
struct stringsq* p2)
//p1 p2均為非空串,若p1中存在子串與p2相等,返回位置。否則,返回0
else
}return0;
//若無子串與p2相等,返回0
}
重學資料結構 串的基本操作(C語言)
include stdafx.h include stdlib.h include string.h define maxsize 50 define bool int define true 1 define false 0 typedef struct string void initstrin...
資料結構之串的基本操作
1 串基本術語 空串 空串指長度為0的串,其不包含任何字元 空格串 不同於空串,它是由乙個或多個空格構成的串。雖然是空格,但在計算長度時要把空格的個數算在內 串比較 串的大小比較時以字元的ascii碼值作為依據。2 串基本操作 賦值操作 連線操作 求串長 竄的比較和求子串。3 串的儲存結構 順序儲存...
資料結構 實驗 串的基本操作
一 實現主要功能為 1 輸入模式串 目標串 2 根據目標串生成next和nextval陣列 3 根據next或者nextval進行匹配。二 程式截圖 三 1 include 2 include 3 include 4 include 5 using namespace std 67 define m...