資料結構之定長字串的輸入,比較,字元匹配

2021-08-09 22:31:00 字數 1505 閱讀 3793

本文章寫的是資料結構之定長字串的實現

定長字串

資料結構定義為

#define maxsize 256

typedef char sstring[maxsize+1];

s[0]儲存串的長度

#include#include#include#include#include#includeusing namespace std;

#define ok 1

#define error 0

typedef int status;

#define maxsize 256

typedef char sstring[maxsize+1];

/*定長字串

這種字串的是s[0]儲存著字串的長度

*/int strlength(sstring s)//返回是字元長

int strcompare(sstring s,sstring t)//若兩字串相等就返回0,否則返回ascill碼的差值,

return s[0]-t[0];

}int next[100];

int index(sstring s,sstring t,int pos)//字元匹配之樸素匹配法

else

}if(j>t[0])return i-t[0];

else return 0;

}int index_kmp(sstring s,sstring t,int pos)//kmp演算法

else j=next[j];

}if(j>t[0])return i-t[0];

else return 0;

}int get_next(sstring t)

else j=next[j];

}}void strinput(sstring &s)//因為定長順序字串的首位置儲存的是字串的長度,故用專門的輸入函式來輸入這種字串

s[0]=i-1;

s[i]='\0';

}int main()

; sstring s,t;

strinput(s);

strinput(t);

// printf("%d",s[0]);

// printf("%d",strcompare(s,t));

// for(i=1; i<=s[0]; i++)

// printf("%c",s[i]);

get_next(t);

// for(i=1; i<=t[0]; i++)

// printf("%d ",next[i]);

printf("%d",index_kmp(s,t,1));

// printf("%d\n",index(s,t,1));

return 0;}/*

abaabcac

abcde

abcc

abcdefg

def*/

資料結構之字串

夢醒瀟湘love 1 串的相關概念 1 串 string 是由零個或多個字元組成的有限序列,又名叫字串。2 串中含有的字元資料稱為串的長度,零個字元的串稱為空串 null string 它的長度為零。3 子串與主串,串中任意個數的連續字元組成的子串行稱為該串的子串,相應地,包含子串的串稱為主串。4 ...

資料結構之 字串

一 簡介 字串或者說串 string 是由數字 字母。下劃線組成的一串字元。一般可以記為s a0a1a2a3.an n 0並且n是有限非負整數 從資料結構上來看,用c 來說,字串是一種特殊的線性表,也就是裡面的每個元素都是字元的一種線性表。可以是用陣列實現,或者鍊錶實現。具體的優缺點可以參照陣列和鍊...

cin輸入不定長的字串

正常情況下,cin遇到空格結束讀取,寫個小例子 int main string a cin a cout 如何讀取帶空格的字串呢,通常由三種方式如下 include using namespace std main char a 20 cin.get a,20 coutmain char m 20 ...