文档介绍
* 2.2.请编写一个计算头指针为h的单链表长度的算法 int length(JD *h) { int n=0; JD *p; p=h; while(p!=NULL) { n++; p=p->link; } return(n); } p p p h a1 a2 头指针 a4 ^ a3 p while(p->link!=NULL) ………… …………. return(n+1); 作业1: 第二章 2,8 2.2. 请编写一个计算头指针为h的单链表长度的算法 int length(JD *h) { int n=0; JD *p; p=h->link; while(p!=NULL) { n++; p=p->link; } return(n); } a1 a2 h 头指针 a4 ^ a3 2.4.设h为带表头结点的循环链表的头指针,请编写一个删除表中 数据域值为x的所有结点的算法 void del_x(JD *h,int x) { JD *p,*q; q=h; p=h->link; while(p!=h) { if(p->data==x) { q->link=p->link; free(p); p=q->link; } else { q=p; p=p->link; } } } q p p q h a x b x p q p q p q while(p!=h && p->data!=x ) ………… …………. 2.8 .以双向链表为存储结构实现上题 void del_x(JD *h,int x) { JD *p,*q; p=h->next; while(p!=h) { if(p->element==x) { q=p->next; p->prior->next=p->