下面讨论在顺序串上实现串基本运算的算法。 (1)建立串 StrAssign(cr) 白一个字符串常量cstr建立一个串,即生成一个其值等 于cstr的串。对应的算法如下: public void StrAssign(string cstr int i; for(i=0; i<cstr Length; i++) datai=cstr; length=i;
下面讨论在顺序串上实现串基本运算的算法。 (1)建立串StrAssign(cstr) 由一个字符串常量cstr建立一个串,即生成一个其值等 于cstr的串。对应的算法如下: public void StrAssign(string cstr) { int i; for (i=0;i<cstr.Length;i++) data[i]=cstr[i]; length=i; }
例如,cstr=“ abcdef”,执行 Strassign(cstr)方法的结果 如下图所示。 abcdef s.StrAssign(cstr) 串对象:[-6 data length
例如,cstr=“abcdef”,执行StrAssign(cstr)方法的结果 如下图所示。 cstr: 串对象 s: abcdef a b c d e f … 6 s.StrAssign(cstr) data length
(2)串复制 StrCopy(t) 将申复制给当前串对象。对应的算法如下: public void StrCopy(sqString Class t) int i; for (i=0; i<tlength; i++) data lt data; length=t length;
(2)串复制StrCopy(t) 将串t复制给当前串对象。对应的算法如下: public void StrCopy(SqStringClass t) { int i; for (i=0;i<t.length;i++) data[i]=t.data[i]; length=t.length; }
(3)求串长度 Strength 返回当前串中的字符个数。对应的算法如下: public int Strength return length;
(3)求串长度StrLength() 返回当前串中的字符个数。对应的算法如下: public int StrLength() { return length; }
(4)串连接 Concat(t) 将当前串和申t的所有字符连接在一起形成的新串,并返 回这个新串。对应的算法如下: public sqstring class Concat(sqstring Class t) AsTring Class nstr= new SqString Class;/新建一个空串 int i. nstr length=length+t ength: for(i=0;i< length;i计+)∥将当前串data0. str length-1到nsr nstr.dataiFdata; for(i=0; i<t length; i++)//t data O.t. length-1-nstr nstrdata length+i=tdata; return nstr; 返回新串nstr
(4)串连接Concat(t) 将当前串和串t的所有字符连接在一起形成的新串,并返 回这个新串。对应的算法如下: public SqStringClass Concat(SqStringClass t) { SqStringClass nstr=new SqStringClass(); //新建一个空串 int i; nstr.length=length+t.length; for (i=0;i<length;i++)//将当前串data[0..str.length-1]到nstr nstr.data[i]=data[i]; for (i=0;i<t.length;i++)//将t.data[0..t.length-1]nstr nstr.data[length+i]=t.data[i]; return nstr; //返回新串nstr }