读书人

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

发布时间: 2012-02-29 16:44:11 作者: rapoo

这是我写的一个算法,不知道对不对.......
编写函数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;
}
}

读书人网 >C++

热点推荐