
1条回答 默认 最新
技术专家团-小桥流水 2021-10-30 12:12关注这种问题建议用代码段贴代码,不要用截图。
补充如下,如有帮助,请帮忙采纳一下,谢谢。//(1)初始化空表 L->next = NULL; //(2)尾插建立单链表 rear->next = p; rear = p; //(3)单链表输出 printf("%d ",p->data); p = p->next; //(4)求单链表长度(不包括头结点) p=L->next;//如果算头结点,就把这一行注释掉 while(p) { count++; p = p->next; } //(5)//插入元素(i最小为1) int ListInsert(LinkP L,int i,ElemType x) { LinkP p=L; if(i<1) return 0; i--; while (i-- && p) { p = p->next; } if(p == NULL) return 0; LinkP t = (LinkP)malloc(sizeof(LinkNode)); t->data = x; t->next = p->next; p->next = t; return 1; } //(6)//删除 int ListDelete(LinkP L ,int i) { LinkP rear,p=L; if(i < 1) return 0; rear = p->next; i--; while(i-- && p) { p = rear; if(rear) rear = rear->next; } if(p && rear) { p->next = rear->next; free(rear); rear = 0; return 1; } return 0; } //(7)//删除偶数节点 LinkP DeleteEven(LinkP L) { LinkP p,q; LinkP t; p= L; q = L->next; while(q) { if(q->data%2 == 0) { p->next = q->next; free(q); q = p->next; }else { p = q; q = q->next; } } return L; }解决 无用评论 打赏 举报