æ•°æ�®ç»“构习题å�Šç­”案——严蔚æ•� - 百度文库 ÏÂÔØ±¾ÎÄ

typedef struct node {

elemtype data; struct node *link; }NODE;

void analyze(NODE *a£© {

NODE *rh£¬*qh£¬*r,*q,*p£»

int i=0£¬j=0£»/*iΪÐòºÅÊÇÆæÊýµÄ½áµã¸öÊý jΪÐòºÅÊÇżÊýµÄ½áµã¸öÊý */ p=a£»

rh=£¨NODE *£©malloc£¨sizeof£¨NODE£©£©£»/*rhΪÐòºÅÊÇÆæÊýµÄÁ´±íÍ·Ö¸Õë */

qh=(NODE *)malloc(sizeof(NODE)); /*qhΪÐòºÅÊÇżÊýµÄÁ´±íÍ·Ö¸Õë */ r=rh; q=qh;

while(p!=NULL) {

r->link=p; r=p; i++; p=p->link;

wordÎĵµ ¿É×ÔÓɸ´ÖƱ༭

if(p!=NULL) {

q->link=p; q=p; j++; p=p->link; } }

rh->data=i; r->link=rh; qh->data=j; q->link=qh; } 11.

typedef struct node {

elemtype data; struct node *link; }NODE;

void change(NODE *head) {

NODE *p; p=head;

wordÎĵµ ¿É×ÔÓɸ´ÖƱ༭

if(head!=NULL) {

while(p->link!=NULL) p=p->link; p->link=head; } } 12.

typedef struct node {

elemtype data; struct node *link; }NODE;

void del(NODE *x,NODE *y) {

NODE *p,*q; elemtype d1; p=y; q=x;

while(q->next!=NULL) /* °ÑºóÒ»¸ö½áµãÊý¾ÝÓòÇ°ÒÆµ½Ç°Ò»¸ö½áµã*/ {

p->data=q->data;

wordÎĵµ ¿É×ÔÓɸ´ÖƱ༭

q=q->link; p=q;

p->link=NULL; /* ɾ³ý×îºóÒ»¸ö½áµã*/ free(q); }

µÚÈýÕ ջºÍ¶ÓÁÐ Ò»¡¢Ñ¡ÔñÌâ

1. Ò»¸öÕ»µÄÈëÕ»ÐòÁÐÊÇa,b,c,d,e,ÔòÕ»µÄ²»¿ÉÄܵÄÊä³öÐòÁÐÊÇ£¨ £©¡£

£¨A£© edcba£¨B£©decba£¨C£©dceab £¨D£©abcde 2.Õ»½á¹¹Í¨³£²ÉÓõÄÁ½ÖÖ´æ´¢½á¹¹ÊÇ£¨ £©¡£

£¨A£© ÏßÐÔ´æ´¢½á¹¹ºÍÁ´±í´æ´¢½á¹¹£¨B£©É¢Áз½Ê½ºÍË÷Òý·½Ê½ £¨C£©Á´±í´æ´¢½á¹¹ºÍÊý×é £¨D£©ÏßÐÔ´æ´¢½á¹¹ºÍ·ÇÏßÐÔ´æ´¢½á¹¹ 3.Åж¨Ò»¸öÕ»ST(×î¶àÔªËØÎªm0)Ϊ¿ÕµÄÌõ¼þÊÇ£¨ £©¡£ £¨A£© ST-¡µtop!=0 £¨B£©ST-¡µtop==0 £¨C£©ST-¡µtop!=m0 £¨D£©ST-¡µtop=m0

4.Åж¨Ò»¸öÕ»ST(×î¶àÔªËØÎªm0)ΪջÂúµÄÌõ¼þÊÇ£¨ £©¡£ £¨A£©ST->top!=0 £¨B£©ST->top==0 £¨C£©ST->top!=m0-1£¨D£©ST->top==m0-1

5.Ò»¸ö¶ÓÁеÄÈëÁÐÐòÁÐÊÇ1,2,3,4,Ôò¶ÓÁеÄÊä³öÐòÁÐÊÇ£¨ £©¡£ £¨A£©4,3,2,1£¨B£©1,2,3,4£¨C£©1,4,3,2£¨D£©3,2,4,1

wordÎĵµ ¿É×ÔÓɸ´ÖƱ༭