Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

²éÕÒ×Ö·û´®ÖÐ×Ö·û²»Öظ´µÄ×î´ó×Ó´®(C/C++)

 //ÊäÈë²ÎÊý£º*str ËÑË÷×Ö·û´®
// subStrLen ÓÃÓÚ·µ»ØÕÒµ½µÄ×î´ó×Ó×Ö·û´®³¤¶È
//·µ»Ø£ºÕÒµ½µÄ×î´ó×Ó×Ö·û´®Ö¸Õë
char * findMaxSubStr(char *str, int &subStrLen){
char *subStr;
char *p = str;
int index[256] ;
for (int ix = 0; ix < sizeof(index)/sizeof(index[0]); ix++)
{
index[ix] = -1;
}
int subStrPos = 0; // ×Ó×Ö·û´®ÔÚ×Ö·û´®strÖÐµÄÆ«ÒÆ
int charPos = 0; // µ±Ç°×Ö·ûÔÚ×Ö·û´®strÖÐµÄÆ«ÒÆ
int currLen = 0; //µ±Ç°×Ó×Ö·û´®³¤¶È
int maxLen = 0; //ÒѾ­ÕÒµ½µÄ×î´ó×Ó×Ö·û´®³¤¶È

char ch;
while (ch = *p)
{
if (index[ch] < subStrPos){ //×Ö·ûÊ״γöÏÖ »òÕß ×Ö·ûÔÚ×Ó×Ö·û´®¿ªÊ¼µÄλÖúóÊ״γöÏÖ
index[ch] = charPos;
currLen++;
}else {
currLen = charPos - index[ch];
subStrPos = ++index[ch];
index[ch] = charPos;
}
if (currLen > maxLen)
{
subStr = str + subStrPos;
maxLen = currLen;
}
p++;
charPos++;
}
subStrLen = maxLen;
return subStr;
}


Ïà¹ØÎĵµ£º

C/C++

9.2  ¹²ÓÃÌå
CÓïÑÔ³ýÁËÌṩ½á¹¹ÌåÕâÖֿɰüº¬¶àÖÖÀàÐÍÊý¾ÝµÄ¹¹ÔìÀàÐÍÍ⣬»¹ÌṩÁËÒ»ÖÖ´ÓÐÎʽÉÏ¿´ºÍ½á¹¹Ìå¿°³Æ“ÂÏÉúÐֵܔµÄ¹¹ÔìÀàÐÍ——¹²ÓÃÌ壨union£©¡£
±¾½Ú´Ó¹²ÓÃÌåµÄ¸ÅÄîÈëÊÖ£¬´Ó¹²ÓÃÌåµÄ¸ÅÄî¡¢Óë½á¹¹ÌåµÄÒìͬ¡¢Ê¹Óõȷ½Ãæ½øÐÐÏêϸµÄ½éÉÜ¡£
9.2.1  ʲôÊǹ²ÓÃÌå
ÏÖʵÉú»îÖУ¬Ä³Ð©Ê ......

C³ÌÐòÉè¼ÆµÄ³£ÓÃËã·¨


¡¡¡¡Ëã·¨£¨Algorithm£©£º¼ÆËã»ú½âÌâµÄ»ù±¾Ë¼Ïë·½·¨ºÍ²½Öè¡£Ëã·¨µÄÃèÊö£ºÊǶÔÒª½â¾öÒ»¸öÎÊÌâ»òÒªÍê³ÉÒ»ÏîÈÎÎñËù²ÉÈ¡µÄ·½·¨ºÍ²½ÖèµÄÃèÊö£¬°üÀ¨ÐèҪʲôÊý¾Ý£¨ÊäÈëʲôÊý¾Ý¡¢Êä³öʲô½á¹û£©¡¢²ÉÓÃʲô½á¹¹¡¢Ê¹ÓÃʲôÓï¾äÒÔ¼°ÈçºÎ°²ÅÅÕâЩÓï¾äµÈ¡£Í¨³£Ê¹ÓÃ×ÔÈ»ÓïÑÔ¡¢½á¹¹»¯Á÷³Ìͼ¡¢Î±´úÂëµÈÀ´ÃèÊöËã·¨¡£
¡¡¡¡Ò»¡¢¼ÆÊý¡¢ÇóºÍ¡ ......

C treeviewÖнڵãÕ¹¿ªÎÊÌâ

ÎÒ´ÓÊý¾Ý¿â¶¯Ì¬¶ÁÈ¡2¸ö¸¸½Úµã£º
111
       a
            a1
       b
            b1
       c
&n ......

CÊä³ö¸ñʽ×ܽá

CÊä³ö¸ñʽ×ܽá
2007-07-08 12:09
1 Ò»°ã¸ñʽ
   printf(¸ñʽ¿ØÖÆ£¬Êä³ö±íÁУ©
   ÀýÈ磺printf("i=%d,ch=%c\n",i,ch);
   ˵Ã÷:
   (1)“¸ñʽ¿ØÖÆ”ÊÇÓÃ˫ƲºÅÀ¨ÆðÀ´µÄ×Ö·û´®£¬Ò²³Æ“ת»»¿ØÖÆ×Ö·û´®”£¬Ëü°üÀ¨Á½ÖÖÐÅÏ¢£º
    &nbs ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ