資料結構 串的基本操作c 實現

2021-10-03 02:09:48 字數 3985 閱讀 2096

#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...