如何在visual studio community实现线性表的编写与操作

在学习数据结构 的过程中,我们被要求使用VC++进行线性表(双向链表)的编写与操作,要求如图,但是我想要尝试使用Visual Studio Community 来进行程序的编写,不知道应该如何操作,另外,希望能有一些相关指导贴的推荐,谢谢。

img

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

首先,在vs安装的时候,要勾选vc++桌面开发支持
然后新建一个vc++项目
找一个代码


贴进去,ctrl+f5

C++安装VS后需要另外在Visual Studio Installer中安装
struct需要添加前和后节点。

typedef struct student {
    student* pre;
    int num;
    char name[10];
    student* next;
}student;

插入和删除示例,删除中已经包含了查找

bool Insert_List(student* head, UINT     pos = 0)
{
    //
    //计算链表长度判断pos是否合理
    //
    UINT length = 0;
    student* current = head;
    while (NULL != current) {
        current = current->next;
        length++;
    }
    if (pos >= length)
    {
        std::cout << "insert pos error" << std::endl;
        return false;
    }
    student* p = new student();
    //赋值 
    std::cout << "cin  name" << std::endl;
    std::cin >> p->name;
    std::cout << "cin  num" << std::endl;
    std::cin >> p->num;

    for (UINT i = 0; i < pos; i++)
    {
        head = head->next;
    }

    if (head->next == NULL)
    {
        p->next = NULL;
        p->pre = head;
        head->next = p;
    }
    else
    {
        head->next->pre = p;
        p->next = head->next;
        p->pre = head;
        head->next = p;
    }
    return true;
}
BOOL Delete_List(student* head, int num)
{
    if (NULL == head)
    {
        std::cout << "not found" << std::endl;
        return  false;
    }

    //找到要删除的节点
    student* p = head;
    while ((p->next != NULL) && p->num != num)
        p = p->next;
    if (p->next == NULL && p->num != num)
    {
        std::cout << "not found" << std::endl;
        return  false;
    }
    else if (p->pre == NULL)
    {
        head->next = p->next;
        p->next->pre = NULL;
    }
    else if (p->next == NULL)
    {
        p->pre->next = NULL;
    }
    else
    {
        p->pre->next = p->next;
        p->next->pre = p->pre;
    }
    std::cout << "deleted" << std::endl;
    return true;

}