ʵÏÖÁ´±íµÄ´´½¨¡¢²éÕÒ¡¢É¾³ý¡¢²åÈë¡¢Êä³ö¡£ ʵÏÖ´®µÄģʽƥÅ䣨°üÀ¨ÇónextºÍnextvalµÄÖµ£©
£¨5£© ²âÊÔÊý¾Ý£º°üÀ¨ÕýÈ·µÄÊäÈë¼°ÆäÊä³ö½á¹ûºÍº¬ÓдíÎóµÄÊäÈë¼°
ÆäÊä³ö½á¹û
˳Ðò±íµÄÊäÈ룺0|11|22|33|44|55|66|77|88|99|
Á´±íÊäÈ룺 2 3 4 5 6 7 8 9
¶þ£¬ ¸Å Òª Éè ¼Æ
1£¬ ¶¨ Òå
¶¨Òå˳Ðò±íµÄ½á¹¹Ìå typedef int ElemType; typedef struct
//¶¨Òå˳Ðò±í½á¹¹Ìå
{ElemType data[MAXSIZE];
int length;
}SqList;
¶¨ÒåÁ´±íµÄ½áµã½á¹¹
typedef struct node /*¶¨Òåµ¥Á´±í½áµã½á¹¹ÀàÐÍ*/ {
int data; /*½áµãµÄÊý¾ÝÓò*/ struct node *next; /*½áµãµÄÖ¸ÕëÓò*/ }linklist;
¶¨Òå×Ö·û´®µÄÊý×é½á¹¹
int IndexBF(char s[],char t[],int pos) {int i,j,m,n; i=pos-1;j=0; m=strlen(s);
n=strlen(t);
2£¬Ö÷Á÷³Ìͼ
Ö÷²Ëµ¥½çÃæ Ñ¡Ôñ£ºË³Ðò±í£»Á´±í£»´®£»À뿪 ˳Ðò±í²Ù×÷ Á´±í²Ù×÷ ´®²Ù×÷ ´´½¨ ²åÈë ²éÕÒ É¾³ý Êä³ö ´´½¨ ²åÈë ɾ³ý ºÏ²¢ ´´½¨Ö÷´® ´´½¨×Ó´® Çónext Çónextval ½áÊø
3£¬¸÷Ä£¿éÖ®¼äµÄ²ã´Î¹ØÏµ
(1)
µÚÒ»²ãΪÖ÷½çÃæº¯Êý£¬
µÚ¶þ²ãΪ˳Ðò±í½çÃæº¯Êý¡¢Á´±í½çÃæº¯Êý¡¢Ä£Ê½Æ¥Åä½çÃæº¯Êý µÚÈý²ãΪ˳Ðò±í×Óº¯Êý¡¢Á´±í×Óº¯Êý¡¢Ä£Ê½Æ¥Åä×Óº¯Êý
£¨2£©Ö÷½çÃæº¯Êýµ÷Óõĺ¯ÊýÓÐsqlistfuc()¡¢linklistfuc()¡¢indexfuc£¨£©
˳Ðò±í½çÃæµ÷Óõĺ¯ÊýÓÐcreatsq£¨£©¡¢listinsert()¡¢listdelete()¡¢mergelist()
Á´±í½çÃæµ÷Óõĺ¯ÊýÓÐcreat£¨£©¡¢insert()¡¢delete()¡¢search()¡¢¡¢mergelink()¡¢
ģʽƥÅä½çÃæµ÷Óõĺ¯ÊýÓÐKMP(),GetNext(),GetNextval
creatstring()¡¢
Èý£¬ÏêϸÉè¼Æ£¨¼û¸½Â¼£© ËÄ¡¢µ÷ÊÔ·ÖÎö
1¡¢µ÷ÊÔ¹ý³ÌÖÐÓöµ½µÄÎÊÌâÊÇÈçºÎ½â¾öµÄÒÔ¼°¶ÔÉè¼ÆÓëʵÏÖµÄÌÖÂۺͷÖÎö
£¨1£©Ò»¿ªÊ¼ÔÚÔÚµ÷ÊÔ³ÌÐòʱÓöµ½ÁËÄÚ´æ´íÎó£¬×îÖÕͨ¹ýÍøÉϲé×ÊÁÏÕÒµ½Á˳ö´íµÄÔÒò£ºÔÚ½¨Á¢¶ÔÍ·Ö¸ÕëºÍ¶ÓβָÕëʱûÓжÔÖ¸Õë½øÐгõʼ»¯£¬¼´Ã»ÓÐΪָÕ붯̬·ÖÅä¿Õ¼ä¡£
£¨2Ö¸Õë±äÁ¿Ã»Óгõʼ»¯¡£¶¨ÒåÒ»¸öÖ¸Õë±äÁ¿£¬C±àÒëϵͳ¼´ÎªËü¿ª±ÙÁËÒ»¸ö´æ´¢¿Õ¼ä£¬Èç¹û²»½øÐгõʼ»¯£¬Ôò´æ·ÅµÄÊÇÒ»¸öËæ»úµØÖ·£¬