Êý¾Ý½á¹¹¿Î³Ì¿ÎºóϰÌâ´ð°¸.-Êý¾Ý½á¹¹µÚÎå°æ¿ÎºóϰÌâ´ð°¸ ÏÂÔØ±¾ÎÄ

}

}

return 1;

}

else return 0;

p=p->next;

Á·Ï°Ìâ¼°²Î¿¼´ð°¸ £¨6£©ÓÐÒ»¸öÕûÊýÔªËØ½¨Á¢µÄµ¥Á´±íA£¬Éè¼ÆÒ»¸öËã·¨£¬½«Æä²ð·Ö³ÉÁ½¸öµ¥Á´±íAºÍB£¬Ê¹µÃAµ¥Á´±íÖк¬ÓÐËùÓеÄżÊý½áµã£¬Bµ¥Á´±íÖÐËùÓÐµÄÆæÊý½áµã£¬ÇÒ±£³ÖÔ­À´µÄÏà¶Ô´ÎÐò¡£

½â£º²ÉÓÃÖØÐµ¥Á´±íµÄ·½·¨£¬ÓÉÓÚÒª±£³ÖÏà¶Ô´ÎÐò£¬ËùÒÔ²ÉÓÃβ²å·¨½¨Á¢Ð±íA¡¢B¡£ÓÃp±éÀúÔ­µ¥Á´±íAµÄËùÓÐÊý¾Ý½áµã£¬ÈôΪżÊý½áµã£¬½«ÆäÁ´µ½AÖУ¬ÈôÎªÆæÊý½áµã£¬½«ÆäÁ´µ½BÖС£¶ÔÓ¦µÄËã·¨ÈçÏ£º

void Split(SLink *&A,SLink *&B) { }

SLink *p=A->next,*ra,*rb; ra=A;

B=(SLink *)malloc(sizeof(SLink)); //½¨Á¢Í·½áµã rb=B; { }

ra->next=rb->next=NULL;

//r×ÜÊÇÖ¸ÏòBÁ´±íµÄβ½áµã //żÊý½áµã //½«*p½áµãÁ´µ½AÖÐ

while (p!=NULL)

if (p->data%2==0) { } else { }

//ÆæÊý½áµã //½«*p½áµãÁ´µ½BÖÐ

rb->next=p; rb=p; p=p->next; ra->next=p; ra=p; p=p->next;

±¾Ëã·¨µÄʱ¼ä¸´ÔÓ¶ÈΪO(n)£¬¿Õ¼ä¸´ÔÓ¶ÈΪO(1)¡£ £¨7£©ÓÐÒ»¸öÓÐÐòµ¥Á´±í£¨´ÓСµ½´óÅÅÁУ©£¬±íÍ·Ö¸ÕëΪL£¬Éè¼ÆÒ»¸öËã·¨Ïò¸Ãµ¥Á´±íÖвåÈëÒ»¸öÔªËØÎªxµÄ½áµã£¬Ê¹²åÈëºó¸ÃÁ´±íÈÔÈ»ÓÐÐò¡£

½â£ºÏȽ¨Á¢Ò»¸ö´ý²åÈëµÄ½áµã£¬È»ºóÒÀ´ÎÓëÁ´±íÖеĸ÷½áµãµÄÊý¾ÝÓò±È½Ï´óС£¬ÕÒµ½²åÈë¸Ã½áµãµÄλÖã¬×îºó²åÈë¸Ã½áµã¡£¶ÔÓ¦µÄËã·¨ÈçÏ£º

void inorderList(SLink *&L,ElemType x) {

SLink *s,*p,*q;

s=(SLink *)malloc(sizeof(SLink)); //½¨Á¢Ò»¸ö´ý²åÈëµÄ½áµã s->data=x;s->next=NULL;

if (L==NULL || xdata) //Èôµ¥Á´±íΪ¿Õ»òxСÓÚµÚ1¸ö½áµãdateÓò {

s->next=L;

//°Ñ*s½áµã²åÈ뵽ͷ½áµãÖ®ºó

9

Êý¾Ý½á¹¹¼òÃ÷½Ì³Ì

}

} else { }

q=L;

//ѰÕÒ²åÈëλÖÃ,pÖ¸Ïò´ý±È½ÏµÄ½áµã,qÖ¸ÏòpµÄǰÇý½áµã

//ÈôxСÓÚpËùÖ¸½áµãµÄdataÓòÖµ

p=q->next;

while (p!=NULL && x>p->data)

if (x>p->data) { }

//½«s½áµã²åÈëµ½*qºÍ*pÖ®¼ä

q=p; p=p->next;

L=s;

s->next=p; q->next=s;

£¨8£©ÓÐÒ»¸öµ¥Á´±íL£¬ÆäÖпÉÄܳöÏÖÖµÓòÖØ¸´µÄ½áµã£¬Éè¼ÆÒ»¸öË㷨ɾ³ýÖµÓòÖØ¸´µÄ½áµã¡£²¢·ÖÎöËã·¨µÄʱ¼ä¸´ÔÓ¶È¡£

½â£ºÓÃp±éÀúµ¥Á´±í£¬ÓÃr±éÀú*p½áµãÖ®ºóµÄ½áµã£¬qʼÖÕÖ¸Ïò*r½áµãµÄÖ±½ÓǰÇý½áµã£¬Èôr->data==p->data£¬Ôòɾ³ý*r½áµã£¬·ñÔòq¡¢rͬ²½ºóÒÆÒ»¸ö½áµã¡£¶ÔÓ¦µÄËã·¨ÈçÏ£º

void dels1(SLink *&L) { }

SLink *p=L->next,*q,*r,*t; while (p!=NULL) { }

q=p; r=q->next; while (r!=NULL) { }

p=p->next;

if (r->data==p->data) //rÖ¸Ïò±»É¾½áµã { } else { }

q=r; r=r->next; t=r->next; q->next=t; free(r); r=t;

±¾Ëã·¨µÄʱ¼ä¸´ÔÓ¶ÈΪO(n2)¡£

£¨9£©ÓÐÒ»¸öµÝÔöÓÐÐòµ¥Á´±í£¨ÔÊÐí³öÏÖÖµÓòÖØ¸´µÄ½áµã£©£¬Éè¼ÆÒ»¸öË㷨ɾ³ýÖµÓòÖØ¸´µÄ½áµã¡£²¢·ÖÎöËã·¨µÄʱ¼ä¸´ÔÓ¶È¡£

½â£ºÓÉÓÚÊÇÓÐÐò±í£¬ËùÒÔÏàֵͬÓòµÄ½áµã¶¼ÊÇÏàÁڵġ£ÓÃp±éÀúµÝÔöµ¥Á´±í£¬Èô*p½á

Á·Ï°Ìâ¼°²Î¿¼´ð°¸ µãµÄÖµÓòµÈÓÚÆäºó½áµãµÄÖµÓò£¬Ôòɾ³ýºóÕß¡£¶ÔÓ¦µÄËã·¨ÈçÏ£º

void dels(SLink *&L) { }

SLink *p=L->next,*q; while (p->next!=NULL) { }

if (p->data==p->next->data) { }

else p=p->next;

q=p->next; free(q);

p->next=q->next;

//ÕÒµ½Öظ´ÖµµÄ½áµã //qÖ¸ÏòÕâ¸öÖØ¸´ÖµµÄ½áµã //ɾ³ý*q½áµã

±¾Ëã·¨µÄʱ¼ä¸´ÔÓ¶ÈΪO(n)¡£

£¨10£©ÓÐÒ»¸öË«Á´±íL£¬Éè¼ÆÒ»¸öËã·¨²éÕÒµÚÒ»¸öÔªËØÖµÎªxµÄ½áµã£¬½«ÆäÓëºó¼Ì½áµã½øÐн»»»¡£

½â£ºÏÈÕÒµ½µÚÒ»¸öÔªËØÖµÎªxµÄ½áµã*p£¬qÖ¸ÏòÆäºó¼Ì½áµã£¬±¾ÌâÊǽ«*p½áµãÒÆµ½*q½áµãÖ®ºó£¬ÊµÏÖ¹ý³ÌÊÇ£ºÉ¾³ý*p½áµã£¬ÔÙ½«Æä²åÈëµ½*q½áµãÖ®ºó¡£¶ÔÓ¦µÄËã·¨ÈçÏ£º

int swap(DLink *L,ElemType x) { DLink *p=L->next,*q; }

while (p!=NULL && p->data!=x) { }

p=p->next;

//δÕÒµ½ÖµÎªxµÄ½áµã //ÕÒµ½ÖµÎªxµÄ½áµã*p //qÖ¸Ïò*pµÄºó¼Ì½áµã //*p½áµã²»ÊÇβ½áµã

return 0;

q=p->next; if (q!=NULL) { } else

//*p½áµãÊÇβ½áµã

//ÎÞ·¨Óëºó¼Ì½áµã½»»»£¬·µ»Ø0

return 0;

if (p==NULL) else

p->prior->next=q; //ÏÈɾ³ý*p½áµã q->prior=p->prior; p->next=q->next; if (q->next!=NULL)

q->next->prior=p; q->next=p; p->prior=q; return 1;

//½«*p½áµã²åÈëµ½*q½áµãÖ®ºó

£¨11£©¶ÔÓÚÓÐn£¨n¡Ý1£©¸öÊý¾Ý½áµãµÄÑ­»·µ¥Á´±íL£¬Éè¼ÆÒ»¸öËã·¨½«ËùÓнáµãÄæÖá£

11

Êý¾Ý½á¹¹¼òÃ÷½Ì³Ì

½â£º²ÉÓÃÍ·²å·¨Öؽ¨Ñ­»·µ¥Á´±íLµÄ˼·£¬ÏȽ¨Á¢Ò»¸ö¿ÕµÄÑ­»·µ¥Á´±í£¬ÓÃp±éÀúËùÓÐÊý¾Ý½áµã£¬Ã¿´Î½«*p½áµã²åÈ뵽ǰ¶Ë¡£¶ÔÓ¦µÄËã·¨ÈçÏ£º

void Reverse(SLink *&L) { SLink *p=L->next,*q; }

L->next=L; while (p!=L) { }

q=p->next; p->next=L->next; L->next=p; p=q;

//½«*p½áµã²åÈ뵽ǰ¶Ë

//½¨Á¢Ò»¸ö¿ÕÑ­»·µ¥Á´±í

ÉÏ»úʵÑéÌâ2

ÓÐÁ½¸öÕûÊý¼¯ºÏ²ÉÓÃÓÐÐòµ¥Á´±í´æ´¢£¬Éè¼Æ¾¡¿ÉÄܸßЧµÄËã·¨ÇóÁ½¸ö¼¯ºÏµÄ²¢¼¯¡¢½»¼¯ºÍ²î¼¯¡£²¢ÓÃÏà¹ØÊý¾Ý½øÐвâÊÔ¡£

#include #include \

void Union(SLink *L1,SLink *L2,SLink *&L3) {

SLink *p,*q,*s,*tc;

L3=(SLink *)malloc(sizeof(SLink)); tc=L3; p=L1->next; q=L2->next;

while (p!=NULL && q!=NULL) {

if (p->datadata) { }

else if (p->data>q->data) { } else

s=(SLink *)malloc(sizeof(SLink)); s->data=q->data; tc->next=s; tc=s; q=q->next;

s=(SLink *)malloc(sizeof(SLink)); s->data=p->data; tc->next=s; tc=s; p=p->next;

//Çó²¢¼¯