使用STL删除链接列表中的特定节点

时间:2016-03-08 14:27:45

标签: c++ c++11 stl

 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;
}

在这里,我使用列表类创建了一个列表。现在我想删除特定节点(第二个,第三个或任何东西),而不使用列表类成员函数。但是没有得到如何调用Delete_a_Node()函数   如何传递Head(存储起始节点的地址)节点? 我想学习STL,所以故意使用类列表和迭代器。

0 个答案:

没有答案