Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 使用STL删除链表中的特定节点 struct节点 { int数据; 节点*下一步; }; 类链接列表 { 节点*头; 公众: linklist(){head=NULL;} void Delete_a_节点(?,);\\n不知道如何调用此函数 }; int _C++_C++11_Stl - Fatal编程技术网

C++ 使用STL删除链表中的特定节点 struct节点 { int数据; 节点*下一步; }; 类链接列表 { 节点*头; 公众: linklist(){head=NULL;} void Delete_a_节点(?,);\\n不知道如何调用此函数 }; int

C++ 使用STL删除链表中的特定节点 struct节点 { int数据; 节点*下一步; }; 类链接列表 { 节点*头; 公众: linklist(){head=NULL;} void Delete_a_节点(?,);\\n不知道如何调用此函数 }; int ,c++,c++11,stl,C++,C++11,Stl,使用STL删除链表中的特定节点 struct节点 { int数据; 节点*下一步; }; 类链接列表 { 节点*头; 公众: linklist(){head=NULL;} void Delete_a_节点(?,);\\n不知道如何调用此函数 }; int main() { 列表l1; 链接列表ll1; . . . for(int i=0;i>元素; l1.推回(元件); } 您是否希望void Delete_a_节点(int offset,std::list&l){l.erase(std::ne

使用STL删除链表中的特定节点
struct节点
{
int数据;
节点*下一步;
};
类链接列表
{
节点*头;
公众:
linklist(){head=NULL;}
void Delete_a_节点(?,);\\n不知道如何调用此函数
};
int main()
{
列表l1;
链接列表ll1;
.
.
.
for(int i=0;i>元素;
l1.推回(元件);
}

您是否希望
void Delete_a_节点(int offset,std::list&l){l.erase(std::next(l.begin(),offset));}<代码> >为什么使用<代码> STD::列表<代码> >代码>链接列表> /代码>同时,函数<代码> DeleTeEyAyNoad < /C++ >在您所发布的代码中没有定义。不是类列表的成员函数,它是一个用户生成的函数。因此,为了访问这个函数,我使用了Link列表。@ JAROD42:对不起,但是我没有完全得到您的代码。现在考虑,DeleTeE.AyNoad()函数不应该使用类成员函数。简言之,我想问你,如何编写程序,它一半由STL编写,一半由普通的面向对象编程编写。(此处,创建链表由STL完成,但删除节点不应由STL完成。
ll1
从未填充;没有向其中添加节点,因此没有要从中删除的节点。您的问题没有任何意义。
 struct node
{
    int data;
    node* next;
};
class linklist
{
    node* head;
public:
    linklist(){ head = NULL;}

  void Delete_a_Node( ? , ? ); \\ Not getting how to call this function
 };

int main()
{
    list<int> l1;
    linklist ll1;
          .
          .
          .

    for (int i = 0; i < no; i++)
    {
        cin >> element;
        l1.push_back(element);
    }
    cout << "Original list: " << endl;

    list<int>::iterator p = l1.begin(); // Printing List elements.
    while (p != l1.end()){
        cout << *p << " ";
        p++;
    }

    cout << endl << endl;
    cout << "which node do you want to delete" << endl;
    cin >> m;
    ll1.Delete_a_Node(m, p); \\ Getting Error
    _getch();
    return 0;
}