广东财经大学2021数据结构4.1
1.在一个非递减有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使链表中不再有重复元素,要求算法时间复杂度为O(N)。例如:算法输入链表为(19,26,26,32,50,62,62,62,89),则输出为(19,26,32,50,62,89)。作答时,给出必要的分析和说明,以及注释,用类C语言写出尽量完整的程序。
void distinct(LNode*& head) { LNode* t; LNode* p = head; while (p->next != 0) { if (p->next->data == p->data) { t = p->next; p->next = p->next->next; free(t); } else p = p->next; }
}
浙公网安备 33010602011771号