C語言 串定長順序儲存實現 資料結構十二

2022-04-09 04:52:26 字數 1697 閱讀 1485

1.資料型別定義

在**中為了清楚的表示一些錯誤和函式執行狀態,我們預先定義一些變數來表示這些狀態。在head.h標頭檔案中有如下定義:

//定義資料結構中要用到的一些變數和型別

#ifndef head_h

#define head_h

#include #include #include #include #define true 1

#define false 0

#define ok 1

#define error 0

#define infeasible -1

#define overflow -2 //分配記憶體出錯

typedef int status; //函式返回值型別

typedef int elemtype; //使用者定義的資料型別

#endif

2.定義串資料結構

#define init_string_size   100

typedef unsigned char string[init_string_size+1] ;

3.串實現

string.h**如下:

#ifndef string_h

#define string_h

#include "head.h"

#include #define init_string_size 100

typedef unsigned char string[init_string_size+1] ;

status strassign(string &s,char* ch)

status strcopy(string &s,string t)

status strempty(string s)

status strcompare(string s,string t)

if(i==n) }}

status strlength(string s)

status clearstring(string s)

status strconcat(string &s,string s1,string s2)

status strprint(string s)

status substring(string &sub,string s,int pos,int len)

status index(string s,string t,int pos)

status strdelete(string &s,int pos,int len)

status destroystring(string &s)

status replace(string &s,string t,string v)

return true;

}#endif

4.串測試

#include "string.h"

void main()

5.測試結果

比較結果:0

長度:2

strconcat測試:abab

substring測試:ba

位置:1

替換前:abcccabccaba

替換結果:xxcccxxccxxa

插入後:xxccxxcxxccxxa

刪除後:ccxxcxxccxxa

定長順序串 C語言

題目 用定長順序串編寫下列演算法 1.將順序串r中所有值為ch1的字元轉換成ch2的字元。2.將順序串r中所有字元按照相反次序仍存放在r中。3.從順序串r中刪除其值等於ch的所有字元。4.從順序串r1中第index個字元起求首次與串r2相同的子串的起始位置。5.從順序串r中刪除所有與串r1相同的子串...

串的定長順序儲存C語言實現

串 字串 是由0個或多個字元組成的有限序列。0個字元時稱為空串。由乙個或多個空格組成的串 稱為空格串。串中字元的數目n稱為串的長度 串中任意個連續的字元組成的子串行稱為該串的字串 包含字串的串相應的稱為主串 通常稱字元在序列中的序號稱為該字元在串中的位置。字串在主串中的位置則以字串的第乙個字元在主串...

串的定長順序儲存表示與實現(c語言)

include pch.h include include include include define maxlen 225 define false 0 define true 1 字串順序表示 靜態儲存 typedef struct sstring 構造串 intstrassign sstri...