宿題の場合、番号が渡された同様のノードをすべて削除する必要があります。たとえば、私がリストにある場合
3 5 5 4
5 はリンクされたリストから削除され、I で終了します
3 4
このクラスに std ライブラリを使用することは許可されていません。ヘッダー ファイルは次のとおりです。
namespace list_1
{
class list
{
public:
// CONSTRUCTOR
list( );
// postcondition: all nodes in the list are destroyed.
~list();
// MODIFICATION MEMBER FUNCTIONS
//postcondition: entry is added to the front of the list
void insert_front(const int& entry);
//postcondition: entry is added to the back of the list
void add_back(const int& entry);
// postcondition: all nodes with data == entry are removed from the list
void remove_all(const int& entry);
// postcondition: an iterator is created pointing to the head of the list
Iterator begin(void);
// CONSTANT MEMBER FUNCTIONS
// postcondition: the size of the list is returned
int size( ) const;
private:
Node* head;
};
}
リストの前面と背面を削除する方法は理解できます。しかし、何らかの理由で、リストを調べて、渡されたすべての番号を削除することに頭を悩ませることはできません。何でも役に立ちます! ありがとう
Node.hを含めるように編集
#pragma once
namespace list_1
{
struct Node
{
int data;
Node *next;
// Constructor
// Postcondition:
Node (int d);
};
}