1.資料型別定義
在**中為了清楚的表示一些錯誤和函式執行狀態,我們預先定義一些變數來表示這些狀態。在head.h標頭檔案中有如下定義:
//定義資料結構中要用到的一些變數和型別2.定義串資料結構#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
#define init_string_size 100typedef unsigned char string[init_string_size+1] ;
3.串實現
string.h**如下:
#ifndef string_h4.串測試#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
#include "string.h"5.測試結果void main()
比較結果: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...