首页 > 试题广场 >

写函数void DelData(Node *Head),删除

[问答题]

假设有序单链表的结点结构为

typedef struct Node{
int data;
struct Node *next;
}Node;

写函数void DelData(Node *Head),删除该单链表中多余的元素值相同的结点。

发表于 2020-05-02 16:40:12 回复(0)
void DelData(LIST *pHead)
{
    if(NULL == pHead)
    {   
        printf("pHead is NULL.\r\n");
    }   
    
    LIST *pTemp = pHead->pNext->pNext;
    while(pTemp)
    {   
        LIST *pT = pHead->pNext;
        while(pTemp != pT)
        {   
            if(pTemp->data == pT->data)
            {   
                LIST *fp = pTemp;
                free(fp);
                pT->pNext = pTemp->pNext;
                break;
            }   
            pT = pT->pNext;
        }   
        pTemp = pTemp->pNext;
    }   
    return;
发表于 2017-10-18 15:59:27 回复(0)