问答题
用单链表保存m个整数,结点的结构为:[dlata][link],且|data|≤n(n为正整数)。现要求设计一个时间复杂度尽可能高效的算法,对于链表中data的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。例如,若给定的单链表head如下:
则删除结点后的head为:
要求: 根据设计思想,采用C或C++语言描述算法,关键之处给出注释。
【参考答案】
正确答案:算法实现 void func (PNODE h,int n) {PNODE p=h,r, int *q,m; ......
(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)