首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这是小弟我写的一个算法,不知道对不对.

2012-02-29 
这是我写的一个算法,不知道对不对.......编写函数intindex(char*s,char*t),返回字符串t在字符串s中出现的

这是我写的一个算法,不知道对不对.......
编写函数int   index(char*s,char*t),返回字符串t在字符串s中出现的最左边的位置,如果s中没有与t相匹配的子串,则返回-1.
这是我写的算法:
int   index(char*s,char*t)
{
      int   m=0;
      int   n=0;
      while(*s&&n==0)
    {
          if(*s==*t)
        {
              char*p=s;
              char*q=t;
              while(*q&&*p)
            {
                  int   k=0;
                  if(*q==*p)
                {
                      k++;
                      q++;
                      p++;
                }
                  if(k==strlen(t))
                          n++;
                  s++;
                  m++;
            }
        }
        if(n==0)
            return   -1;
        else
            return   m;
}


[解决办法]
google singleton模式
[解决办法]
就是写这样一个类,在创建一个对象后,以后所创建的对象的都指向第一个创建的对象的内存空间.
请问这个算法怎么写???

这个就是 所谓的 singleton模式,
所以,
看看 singleton模式 的思想、代码就明白了 ~
[解决办法]
class test{
public:
static test * CreateMe();
private:
static test * m_pMe;
test();
};

test * test::m_pMe = 0;

test * test::CreateMe()
{
if(0 != m_pMe)
{
m_pMe = new test;
if(0 == m_pMe)
{
//error
}
}
return m_pMe;
}
嗯,这段代码,不知道是否符合你的要求。

告诉你搜索 singleton模式 ^_^

小弟初来,错误请指正
[解决办法]
int temp=0;
char char1[20]=(NULL);
char cmp(char* s,char* t)
{
int n=strlen(*s);
int m=strlen(*t);
for(i=0;i <n;i++)
{
for(j=0;j <m;j++)
{
if((*s)[i]==(*t)[j])
{
temp++;
char1[temp]=(*t)[temp];
}
}
cout < < "the char in (*s) is: " < <(*s)[i] < <endl;
}
}

热点排行