数据结构论坛

首页 » 分类 » 问答 » 带你认识数据结构串的基本操作
TUhjnbcbe - 2024/5/14 8:43:00
#数据#

在本篇文章中,作者将和大家一起了解一些串的基本操作。

首先,我们要了解的是字符串的比较操作即StrCompare(S,T)。

在该操作中,我们对字符串进行比较,若ST,则返回值大于0,若S=T,则返回值等于0,否则返回值小于0.。

那么如何比较字符串的大小呢?首先此操作将会对两个字符串中的字符进行一对一的比较。

如果其中一个字符串的第n个字符大于另一个字符串的第n个字符,则该字符串大,而假如两个字符串的前n个字符全部相等,则字符串长的大,否则两字符串相等。

接下来我们就来看看代码实现:

intStrCompare(SStringS,SStringT){

  for(inti=1;i=S.lengthi=T.length;i++){

    if(S.ch!=T.ch){//如果字符不相等

      returnS.ch-T.ch;

      //TODO

    }

    //TODO

  }

  returnS.length-T.length;//若所有字符都相等,则返回长度大的串

}

接下来,我们来看看串的定位操作。

串的定位操作即Index(S,T)其实是一种在主串中寻找字串的操作,如果主串S中存在与串T值相同的字串,则返回它在主串S中第一次出现的位置,否则函数值为0;

接下来我们来看看代码:

intIndex(SStringS,SStringT){

  inti=1,n=StrLength(S),m=StrLength(T);//求串长

  SStringsub;

  while(i=n-m+1){

    SubStirng(sub,S,i,m);//求字串

    if(StrCompare(sub,i)!=0){

      ++i;

      //TODO

    }else{

      returni;

    }

    //TODO

  }

  return0;

}

本篇文章到此就结束了,欢迎大家

1