½áµã£¬Óû½«q²åÈëµ½p½áµãÖ®ºó£¬ÔòÐèÒªÖ´ÐеÄÓï¾ä£º £» ¡£ ´ð°¸£ºq->next=p->next p->next=q
2¡¢ÏßÐÔ±íµÄÂß¼½á¹¹ÊÇ £¬ÆäËùº¬ÔªËصĸöÊý³ÆÎªÏßÐÔ±íµÄ ¡£ ´ð°¸£ºÏßÐԽṹ ³¤¶È
3¡¢Ð´³ö´øÍ·½áµãµÄË«ÏòÑ»·Á´±íLΪ¿Õ±íµÄÌõ¼þ ¡£ ´ð°¸£ºL->prior==L->next==L
4¡¢´øÍ·½áµãµÄµ¥Á´±íheadΪ¿ÕµÄÌõ¼þÊÇ ¡£ ´ð°¸£ºhead->next==NULL
5¡¢ÔÚÒ»¸öµ¥Á´±íÖÐɾ³ýpËùÖ¸½áµãµÄºó¼Ì½áµãʱ£¬Ó¦Ö´ÐÐÒÔϲÙ×÷£º
q = p->next;
p->next= _ q->next ___; Èý¡¢ÅжÏÌâ
1¡¢µ¥Á´±í²»ÊÇÒ»ÖÖËæ»ú´æ´¢½á¹¹¡£ ?
2¡¢ÔÚ¾ßÓÐÍ·½áµãµÄµ¥Á´±íÖУ¬Í·Ö¸ÕëÖ¸ÏòÁ´±íµÄµÚÒ»¸öÊý¾Ý½áµã¡£?
3¡¢ÓÃÑ»·µ¥Á´±í±íʾµÄÁ´¶ÓÁÐÖУ¬¿ÉÒÔ²»Éè¶ÓÍ·Ö¸Õ룬½öÔÚ¶ÓβÉèÖöÓβָÕë¡£? 4¡¢Ë³Ðò´æ´¢·½Ê½Ö»ÄÜÓÃÓÚ´æ´¢ÏßÐԽṹ¡£?
5¡¢ÔÚÏßÐÔ±íµÄ˳Ðò´æ´¢½á¹¹ÖУ¬Âß¼ÉÏÏàÁÚµÄÁ½¸öÔªËØµ«ÊÇÔÚÎïÀíλÖÃÉϲ»Ò»¶¨ÊÇÏàÁڵġ£?
6¡¢Á´Ê½´æ´¢µÄÏßÐÔ±í¿ÉÒÔËæ»ú´æÈ¡¡£X
ËÄ¡¢³ÌÐò·ÖÎöÌî¿ÕÌâ
1¡¢º¯ÊýGetElemʵÏÖ·µ»Øµ¥Á´±íµÄµÚi¸öÔªËØ£¬ÇëÔÚ¿Õ¸ñ´¦½«Ëã·¨²¹³äÍêÕû¡£ int GetElem(LinkList L,int i,Elemtype *e){ LinkList p£»int j£»
p=L->next;j=1;
while(p&&j
(1) ;++j;
}
if(!p||j>i) return ERROR; *e= (2) ; return OK; }
´ð°¸£º(1)p=p->next (2)p->data
2¡¢º¯ÊýʵÏÖµ¥Á´±íµÄ²åÈëËã·¨£¬ÇëÔÚ¿Õ¸ñ´¦½«Ëã·¨²¹³äÍêÕû¡£
int ListInsert(LinkList L,int i,ElemType e){ LNode *p,*s;int j; p=L;j=0;
while((p!=NULL)&&(j
if(p==NULL||j>i-1) return ERROR; s=(LNode *)malloc(sizeof(LNode));
s->data=e;
(1) ; (2) ; return OK; }/*ListInsert*/
´ð°¸£º(1)s->next=p->next (2)p->next=s
3¡¢º¯ÊýListDelete_sqʵÏÖ˳Ðò±íɾ³ýËã·¨£¬ÇëÔÚ¿Õ¸ñ´¦½«Ëã·¨²¹³äÍêÕû¡£
int ListDelete_sq(Sqlist *L,int i){ int k;
if(i<1||i>L->length) return ERROR;
for(k=i-1;k
L->slist[k]= £¨1£© ;
£¨2£© ; return OK; } ´ð°¸£º£¨1£©L->slist[k+1] £¨2£© --L->Length
4¡¢º¯ÊýʵÏÖµ¥Á´±íµÄɾ³ýËã·¨£¬ÇëÔÚ¿Õ¸ñ´¦½«Ëã·¨²¹³äÍêÕû¡£ int ListDelete(LinkList L,int i,ElemType *s){ LNode *p,*q; int j; p=L;j=0;
while(( £¨1£© )&&(j
if(p->next==NULL||j>i-1) return ERROR; q=p->next; £¨2£© ; *s=q->data; free(q); return OK; }/*listDelete*/
´ð°¸£º(1)p->next!=NULL (2)p->next=q->next 5¡¢Ð´³öËã·¨µÄ¹¦ÄÜ¡£
int L(head){ node * head; int n=0; node *p; p=head;
while(p!=NULL) { p=p->next; n++; }
return(n); }
´ð°¸£ºÇóµ¥Á´±íheadµÄ³¤¶È
Îå¡¢×ÛºÏÌâ
1¡¢±àдËã·¨£¬ÊµÏÖ´øÍ·½áµãµ¥Á´±íµÄÄæÖÃËã·¨¡£ ´ð°¸£ºvoid invent(Lnode *head)
{Lnode *p,*q;
if(!head->next) return ERROR;
p=head->next; q=p->next; p->next =NULL; while(q)
{p=q; q=q->next; p->next=head->next; head->next=p;} }
2¡¢ÓÐÁ½¸öÑ»·Á´±í£¬Á´Í·Ö¸Õë·Ö±ðΪL1ºÍL2£¬ÒªÇóд³öËã·¨½«L2Á´±íÁ´µ½L1Á´±íÖ®ºó£¬ÇÒÁ¬½ÓºóÈÔ±£³ÖÑ»·Á´±íÐÎʽ¡£
´ð°¸£ºvoid merge(Lnode *L1, Lnode *L2)
{Lnode *p,*q ;
while(p->next!=L1)
p=p->next; while(q->next!=L2)
q=q->next;
q->next=L1; p->next =L2; } 3¡¢ÉèÒ»¸ö´øÍ·½áµãµÄµ¥ÏòÁ´±íµÄÍ·Ö¸ÕëΪhead£¬Éè¼ÆËã·¨£¬½«Á´±íµÄ¼Ç¼£¬°´ÕÕdataÓòµÄÖµµÝÔöÅÅÐò¡£
´ð°¸£ºvoid assending(Lnode *head)
{Lnode *p,*q , *r, *s;
p=head->next; q=p->next; p->next=NULL; while(q)
{r=q; q=q->next;
if(r->data<=p->data)
{r->next=p; head->next=r; p=r; } else
{while(!p && r->data>p->data)
{s=p; p=p->next; } r->next=p; s->next=r;}
p=head->next; }
}
4¡¢±àдËã·¨,½«Ò»¸öÍ·Ö¸ÕëΪhead²»´øÍ·½áµãµÄµ¥Á´±í¸ÄÔìΪһ¸öµ¥ÏòÑ»·Á´±í£¬²¢·ÖÎöËã·¨µÄʱ¼ä¸´ÔÓ¶È¡£ ´ð°¸£º
void linklist_c(Lnode *head) {Lnode *p; p=head; if(!p) return ERROR;
while(p->next!=NULL)
p=p->next; p->next=head; }
Éèµ¥Á´±íµÄ³¤¶È£¨Êý¾Ý½áµãÊý£©ÎªN£¬Ôò¸ÃËã·¨µÄʱ¼äÖ÷Òª»¨·ÑÔÚ²éÕÒÁ´±í×îºóÒ»¸ö½áµãÉÏ£¨Ëã·¨ÖеÄwhileÑ»·£©£¬ËùÒÔ¸ÃËã·¨µÄʱ¼ä¸´ÔÓ¶ÈΪO£¨N£©¡£
5¡¢ÒÑÖªheadΪ´øÍ·½áµãµÄµ¥Ñ»·Á´±íµÄÍ·Ö¸Õ룬Á´±íÖеÄÊý¾ÝÔªËØÒÀ´ÎΪ£¨a1£¬a2,a3,a4,¡,an£©,AΪָÏò¿ÕµÄ˳Ðò±íµÄÖ¸Õë¡£ÔĶÁÒÔϳÌÐò¶Î£¬²¢»Ø´ðÎÊÌ⣺ £¨1£©Ð´³öÖ´ÐÐÏÂÁгÌÐò¶ÎºóµÄ˳Ðò±íAÖеÄÊý¾ÝÔªËØ£» £¨2£©¼òÒªÐðÊö¸Ã³ÌÐò¶ÎµÄ¹¦ÄÜ¡£
if(head->next!=head) {
p=head->next; A->length=0;
while(p->next!=head) {
p=p->next;
A->data[A->length ++]=p->data; if(p->next!=head)p=p->next; }
}
´ð°¸£º
(1) (a2, a4, ¡, ) (2)½«Ñ»·µ¥Á´±íÖÐżÊý½áµãλÖõÄÔªËØÖµÐ´Èë˳Ðò±íA
6¡¢Éè˳Ðò±ívaÖеÄÊý¾ÝÔªÊýµÝÔöÓÐÐò¡£ÊÔдһËã·¨£¬½«x²åÈ뵽˳Ðò±íµÄÊʵ±Î»ÖÃÉÏ£¬ÒÔ±£³Ö¸Ã±íµÄÓÐÐòÐÔ¡£ ´ð°¸£º
void Insert_sq(Sqlist va[], ElemType x) {int i, j, n; n=length(va[]); if(x>=va[i])
va[n]=x; else
{i=0;
while(x>va[i]) i++; for(j=n-1;j>=I;j--)
va[j+1]=va[j]; va[i]=x; } n++; }
7¡¢¼ÙÉèÏßÐÔ±í²ÉÓÃ˳Ðò´æ´¢½á¹¹£¬±íÖÐÔªËØÖµÎªÕûÐÍ¡£ÔĶÁËã·¨f2£¬Éè˳Ðò±íL=(3,7,3,2,1,1,8,7,3),д³öÖ´ÐÐËã·¨f2ºóµÄÏßÐÔ±íLµÄÊý¾ÝÔªËØ£¬²¢ÃèÊö¸ÃËã·¨µÄ¹¦ÄÜ¡£
void f2(SeqList *L){