广东财经大学2021数据结构4.1

1.在一个非递减有序的线性表中,有数值相同的元素存在。若存储方式为单链表,设计算法去掉数值相同的元素,使链表中不再有重复元素,要求算法时间复杂度为O(N)。例如:算法输入链表为(192626325062626289),则输出为(192632506289)。作答时,给出必要的分析和说明,以及注释,用类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;
    }
}

 

posted on 2021-10-11 22:06  学群  阅读(130)  评论(0)    收藏  举报