这是我的主要内容:
int main()
{
LinkedList<int> L1;
LinkedList<int> L2;
int val,k;
cout<<"nPlease enter int values to add to the list L1 (-1 to stop):n";
cin>>val;
while(val != -1)
{
L1.InsertBeg(val);
cin>>val;
}
L1.PrintList();
cout << "nPlease enter int values to add to the list L2 (-1 to stop):n";
cin >> k;
while (k != -1)
{
L1.InsertBeg(k);
cin >> k;
}
L1.PrintList();
return 0;
}
这是输出:
请输入int值添加到列表L1(-1表示停止(:1 2 3-1[3]--->[2]--->[1]--->空请输入int值添加到列表L2(-1停止(:4 5 6-1[6]--->[5]--->[4]--->[3]--->[2]--->[1]--->空
但这不是预期的,预期的是:
请输入int值添加到列表L1(-1表示停止(:1 2 3-1[3]--->[2]--->[1]--->空请输入int值添加到列表L2(-1停止(:4 5 6-1[6]--->[5]--->[4]--->空
那么这里出了什么问题,为什么会发生这种情况?
您编写
cout << "nPlease enter int values to add to the list L2 (-1 to stop):n";
但你仍然在L1 中添加值
while (k != -1)
{
L1.InsertBeg(k);
cin >> k;
}
您应该将这条线路更改为L2