搜尋

首頁  >  問答  >  主體

c++ - 感觉函数逻辑写复杂了 ,大家看看能否优化下

这个函数功能类似于单链表插入

/*这是节点结构*/
    struct list_node
    {
        int number;
        list_node *next;
    }*p;

//函数要判断p指向的链表中是否存在相同元素,如果存在什么都不做;如果不存在在链表尾部添加该元素
void addConnection(int x, int y)
{
        auto *head =p;
        if (p !=nullptr)
        {
            auto *head = adjacency_listx->vlist[x].list;
            while (p != nullptr)
            {
                if (p->number == y)
                {
                    return;
                }
                if (p->next != nullptr)
                {
                    p = p->next;
                }
                else
                {
                    p->next = new list_node;
                    p->next->next = nullptr;
                    p->next->number = y;
                    p = head;
                    break;
                }
            }
        }
        else
        {
            p = new list_node;
            p->next = nullptr;
            p->number = y;
        }
}
天蓬老师天蓬老师2774 天前249

全部回覆(1)我來回復

  • 天蓬老师

    天蓬老师2017-04-17 13:43:08

    雷雷

    回覆
    0
  • 取消回覆