ÕâÀïµÄÿ¸öµ¥´ÊÓÿոñ·Ö¿ª¡£ÀýÈ磺 Here is www.fishksy.com.cn ¾¹ý·´×ªºó±äΪ£º www.fishksy.com.cn is Here Èç¹ûÖ»ÊǼòµ¥µÄ½«ËùÓÐ×Ö·û´®·×ªµÄ»°£¬¿ÉÒÔ±éÀú×Ö·û´®£¬½«µÚÒ»¸ö×Ö·ûºÍ×îºóÒ»¸ö½»»»£¬µÚ¶þ¸öºÍµ¹ÊýµÚ¶þ¸ö½»»»£¬ ÒÀ´ÎÑ»·¡£Æäʵ°´ÕÕµ¥´Ê·´×ªµÄ»°¿ÉÒÔÔÚµÚÒ»±é±éÀúµÄ»ù´¡ÉÏ£¬ÔÙ±éÀúÒ»±é×Ö·û´®£¬¶Ôÿһ¸öµ¥´ÊÔÙ·´×ªÒ»´Î¡£ÕâÑùÿ ¸öµ¥´ÊÓÖ»Ö¸´ÁËÔÀ´µÄ˳Ðò¡£ char* reverse_word(const char* str) { int len = strlen(str); char* restr = new char[len+1]; strcpy(restr,str); int i,j; for(i=0,j=len-1;i
{ char temp=restr[i]; restr[i]=restr[j]; restr[j]=temp; } int k=0; while(k
{ i=j=k; while(restr[j]!=' ' && restr[j]!='' ) j++; k=j+1; j--; for(;i
{ char temp=restr[i]; restr[i]=restr[j]; restr[j]=temp; } } return restr; } Èç¹û¿¼ÂÇ¿Õ¼äºÍʱ¼äµÄÓÅ»¯µÄ»°£¬µ±È»¿ÉÒÔ½«ÉÏÃæ´úÂëÀïÁ½¸ö×Ö·û´®½»»»²¿·Ö¸ÄΪÒì»òʵÏÖ¡£ ÀýÈ罫 char temp=restr[i]; restr[i]=restr[j]; restr[j]=temp; ¸ÄΪ restr[i]^=restr[j]; restr[j]^=restr[i]; restr[i]^=restr[j]; 7,×Ö·û´®·´×ª ÎÒûÓмǴíµÄ»°ÊÇÒ»µÀMSNµÄ±ÊÊÔÌ⣬ÍøÉÏÎÞÒâÖп´µ½µÄ£¬ÄÃÀ´×öÁËһϡ£ÌâÄ¿ÊÇÕâÑùµÄ£¬¸ø¶¨Ò»¸ö×Ö·û´®£¬Ò»¸öÕâ¸ö×Ö ·û´®µÄ×Ó´®£¬½«µÚÒ»¸ö×Ö·û´®·´×ª£¬µ«±£Áô×Ó´®µÄ˳Ðò²»±ä¡£ÀýÈ磺 ÊäÈ룺µÚÒ»¸ö×Ö·û´®: "This is fishsky 's Chinese site: http://www.fishsky.com.cn/cn" ×Ó´®: "fishsky" Êä³ö£º "nc/nc.moc.fishsky.www//:ptth :etis esenihC s'fishsky si sihT" Ò»°ãµÄ·½·¨ÊÇÏÈɨÃèÒ»±ßµÚÒ»¸ö×Ö·û´®£¬È»ºóÓÃstack°ÑËü·´×ª£¬Í¬Ê±¼Ç¼ÏÂ×Ó´®³öÏÖµÄλÖá£È»ºóÔÙɨÃèÒ»±é°Ñ¼Ç¼Ï À´µÄ×Ó´®ÔÙÓÃstack·´×ª¡£ÎÒÓõķ½·¨ÊÇÓÃÒ»±éɨÃèÊý×éµÄ·½·¨¡£É¨ÃèÖÐÈç¹û·¢ÏÖ×Ó´®£¬¾Í½«×Ó´®µ¹¹ýÀ´Ñ¹Èë¶ÑÕ»¡£ ×îºóÔÙ½«¶ÑÕ»ÀïµÄ×Ö·ûµ¯³ö£¬ÕâÑù×Ó´®ÓÖ»Ö¸´ÁËÔÀ´µÄ˳Ðò¡£Ô´´úÂëÈçÏ£º µÚ 3 Ò³ Êý¾Ý½á¹¹ÃæÊÔ´óÈ« #include
#include
#include
using namespace std;
//reverse the string ¡®s1¡ä except the substring ¡®token¡¯.
const char* reverse(const char* s1, const char* token)
{
assert(s1 && token);
stack
stack1;
const char* ptoken = token, *head = s1, *rear = s1;
while (*head != ¡±)
{
while(*head!= ¡± && *ptoken == *head)
{
ptoken++;
head++;
}
if(*ptoken == ¡±)//contain the token
{
const char* p;
for(p=head-1;p>=rear;p¨C)
stack1.push(*p);
ptoken = token;
rear = head;
}
else
{
stack1.push(*rear);
head=++rear;
ptoken = token;
}
}
char * return_v = new char[strlen(s1)+1];
int i=0;
while(!stack1.empty())
{
return_v[i++] = stack1.top();
stack1.pop();
}
return_v[i]=¡±;
return return_v;
}
int main(int argc, char* argv[])
{
cout<<"This is fishsky 's Chinese site: http://www.fishsky.com.cn/cn
";
cout<
return 0;
}
8, ɾ³ýÊý×éÖÐÖظ´µÄÊý×Ö
ÎÊÌ⣺һ¸ö¶¯Ì¬³¤¶È¿É±äµÄÊý×ÖÐòÁУ¬ÒÔÊý×Ö0Ϊ½áÊø±êÖ¾£¬ÒªÇó½«Öظ´µÄÊý×ÖÓÃÒ»¸öÊý×Ö´úÌ棬ÀýÈ磺
½«Êý×é 1,1,1,2,2,2,2,2,7,7,1,5,5,5,0 ת±ä³É1,2,7,1,5,0
ÎÊÌâ±È½Ï¼òµ¥£¬Òª×¢ÒâµÄÊÇÕâ¸öÊý×éÊǶ¯Ì¬µÄ¡£ËùÒÔ±ÜÃâÂé·³ÎÒ»¹ÊÇÓÃÁËSTLµÄvector¡£
#include
#include
using namespace std;
//remove the duplicated numbers in an intger array, the array was end with 0;
//e.g. 1,1,1,2,2,5,4,4,4,4,1,0 ¡ª>1,2,5,4,1,0
void static remove_duplicated(int a[], vector
& _st)
{
_st.push_back(a[0]);
for(int i=1;_st[_st.size()-1]!=0;i++)
{
if(a[i-1]!=a[i])
_st.push_back(a[i]);
}
}
µ±È»Èç¹û¿ÉÒԸıäÔÀ´µÄÊý×éµÄ»°£¬¿ÉÒÔ²»ÓÃSTL£¬½öÐèÒªÖ¸Õë²Ù×÷¾Í¿ÉÒÔÁË¡£ÏÂÃæÕâ¸ö³ÌÐò½«ÐÞ¸ÄÔÀ´Êý×éµÄÄÚÈÝ¡£
void static remove_duplicated2(int a[])
{
if(a[0]==0 || a==NULL)
return;
int insert=1,current=1;
µÚ 4 Ò³
Êý¾Ý½á¹¹ÃæÊÔ´óÈ«
while(a[current]!=0)
{
if(a[current]!=a[current-1])
{
a[insert]=a[current];
insert++;
current++;
}
else
current++;
}
a[insert]=0;
}
9,ÈçºÎÅжÏÒ»¿Ã¶þ²æÊ÷ÊÇ·ñÊÇƽºâ¶þ²æÊ÷
ÎÊÌ⣺ÅжÏÒ»¸ö¶þ²æÅÅÐòÊ÷ÊÇ·ñÊÇƽºâ¶þ²æÊ÷
½â¾ö·½°¸£º
¸ù¾Ýƽºâ¶þ²æÊ÷µÄ¶¨Ò壬Èç¹ûÈÎÒâ½ÚµãµÄ×óÓÒ×ÓÊ÷µÄÉî¶ÈÏà²î²»³¬¹ý1£¬ÄÇÕâ¿ÃÊ÷¾ÍÊÇƽºâ¶þ²æÊ÷¡£
Ê×Ïȱàдһ¸ö¼ÆËã¶þ²æÊ÷Éî¶ÈµÄº¯Êý£¬ÀûÓõݹéʵÏÖ¡£
template
static int Depth(BSTreeNode
* pbs)
{
if (pbs==NULL)
return 0;
else
{
int ld = Depth(pbs->left);
int rd = Depth(pbs->right);
return 1 + (ld >rd ld : rd);
}
}
ÏÂÃæÊÇÀûÓõݹéÅжÏ×óÓÒ×ÓÊ÷µÄÉî¶ÈÊÇ·ñÏà²î1À´ÅжÏÊÇ·ñÊÇƽºâ¶þ²æÊ÷µÄº¯Êý£º
template
static bool isBalance(BSTreeNode
* pbs)
{
if (pbs==NULL)
return true;
int dis = Depth(pbs->left) ¨C Depth(pbs->right);
if (dis>1 || dis<-1 )
return false;
else
return isBalance(pbs->left) && isBalance(pbs->right);
}10, strstr()µÄ¼òµ¥ÊµÏÖ
strstr(s1,s2)ÊÇÒ»¸ö¾³£Óõĺ¯Êý£¬ËûµÄ×÷ÓþÍÊÇ |