好吧,我想为链接列表创建一个拷贝构造函数。我知道如何为数组复制构造函数,但不知道链接列表。有人可以给我一个想法,我怎么能做到这一点,谢谢。如何为链接列表创建一个拷贝构造函数
class node
{
public :
double data;
node *next; /// pointer that points to next elemnt
node() { next = NULL; data = 0; }
node (double val) { next = NULL; data = val; }
private:
};
队列头
class linked_queue
{
public :
linked_queue() { front = NULL; back = NULL; ctr = 0; } /// default constructor
bool _empty();
void _size();
void _front();
void _back();
void _push(double);
void pop();
void _display();
~linked_queue(); /// destructor
linked_queue& operator= (const linked_queue& rhs);
linked_queue(const linked_queue& other);
private :
int ctr; /// counter
node *front; /// front pointer
node *back; ///back pointer
};
编辑:这就是我想出了
linked_queue :: linked_queue(常量linked_queue &等) {
ctr = 0;
front = NULL;
back = NULL;
node *p = other.front;
while (p != NULL)
{
_push(p->data);
p = p->next;
}
}
如何查看原始列表中的所有项目并将它们添加到新列表中? – 2013-05-03 04:18:47
我会创建一个新的指针,并将其设置为等于前,遍历列表并将原始数据全部复制到前面 – hv16 2013-05-03 04:22:00
我的意思是新列表不是前面的 – hv16 2013-05-03 04:22:51