我将文本文件中的信息添加到节点中,然后创建一个链接列表,然后将其打印出来,但出现问题。我打印这些节点,结果非常完美,但是当我将它添加到列表中并打印出列表时,我得到了不断的重复,并且需要大约6个小时才能完成列表,而最多需要20秒,最终移动到列表中的信息,但在移动之前重复约500次的信息,同时重复所有以前的信息相同的次数。这里是我的add
和print
功能:从链接列表中平滑地打印节点
void customerlist::add(customer* ustomer)
{
customer* p = new customer;
p = ustomer;
p->next = NULL;
if (head != 0)
{
curr = head;
while (curr->next != NULL)
{
curr = curr->next;
}
curr->next = p;
n++;
}
else
{
head = p;
}
}
int customerlist::getLength()
{
return n;
}
void customerlist::print()
{
curr = head;
while (curr != NULL)
{
cout << curr->ID << " ";
cout << curr->name << " " << curr->lastname << " " << curr->town << endl;
curr = curr->next;
}
}
我的主:
while (!in.eof())
{
account* bank = new account;
customer* ustomer; in >> ustomer->ID;
// display number of customers
if (ustomer->ID < 90000000)
{
count++;
in >> ustomer->name >> ustomer->lastname >> ustomer->town;
// cout << ustomer->ID<< " " << ustomer->name << " " << ustomer->lastname<< " " << ustomer->town << endl ;
ustomerlist.add(ustomer);
ustomerlist.print();
}
else
{
break;
}
}
请查询可以回答的问题。 – 2015-01-09 19:39:48