c++ - 感觉函数逻辑写复杂了 ,大家看看能否优化下
天蓬老师
天蓬老师 2017-04-17 13:41:08
0
1
256

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

/*这是节点结构*/
    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;
        }
}
天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

모든 응답(1)
Peter_Zhu
list_node **pp;
for (pp = &p; *pp != NULL && (*pp)->number != y; pp = &(*pp)->next);
if (*pp == NULL) {
    *pp = new list_node(y);
}
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿