显示链表中的元素
Displaying Elements from a Linked List
我正在编写一个程序,其中用户输入随机数,程序将这些数字放入树中,然后放入链表中。然后要求用户输入两个边界,程序显示在最大值和最小值之间的所有数字。
。
Enter an integer or 0 to quit: 2
Enter an integer or 0 to quit: 3
Enter an integer or 0 to quit: 4
Enter an integer or 0 to quit: 5
Enter an integer or 0 to quit: 6
Enter an integer or 0 to quit: 0
The values are:
2 3 4 5 6
Enter the minimum:
2
Enter the maximum:
6
The list is: 0x3f0d58
Process returned 0 (0x0) execution time : 6.464 s
Press any key to continue.
问题是我的程序没有输出列表,而是输出0x3f0d58。
输出的函数是
void createlist() //creates linked list
{
linkednode *current;
linkednode *begin;
current=new linkednode;
current->data=data[0];
current->next=NULL;
begin=current;
for (int count=1; count<(int)data.size(); count++)
{
current=appendlist(current,data[count]);
}
cout<<"The list is: "<<begin<<endl;
}
为了得到要输出的实际数字,我应该改变什么?
您的代码输出begin
值。begin
是指向第一个节点的指针。cout
不知道它是某个特定的指针,因为如果它指向结构体A或结构体b没有区别,即使它考虑了任何区别,它也不知道应该打印哪些成员以及如何打印。因此,您必须以与添加值相同的方式手动输出值。此外,最好将数据作为函数的参数-它将看起来更连贯,并且您将避免任何全局数据。
这根本不是你使用指针的方式!
请查看:指针的描述更专门化到c++
- 指针必须始终与它所属的变量类型相同指向。
- 声明指针变量不会创建变量的类型它指向。创建一个指针变量。
- 虽然指针用星号声明,但并不总是这样与星号连用星号是一元*操作符。int *数量;
- 指针在使用之前必须初始化。初始化一个将指针赋值给变量;变量必须是与指针类型相同。
-
要将指针赋值给变量,请在变量的名字。
-
要将指针赋值给数组,不要使用&符号
s_address =字符串;
and NOT s_address= &string;
-
然而,要将指针赋值给数组"element",请使用&符号:
[2]; -
如果你在结构体中使用指针,你需要使用指针结构符号,->
没有星号,初始化的指针保存一个内存地址。带有星号的初始化指针引用存储的值在它的地址。这就是你错的地方
相关文章:
- 打印所有链表的元素 (C++)
- 如何实现 Front() 方法以返回模板化双向链表C++的第一个元素?
- 在链链表中手动插入第五个元素
- 将数组的元素添加到链表中
- 为什么我在尝试在单向链表中打印元素时会出现这个永无止境的循环
- 如何将元素附加到链表?
- 仅显示链表的最后一个元素
- 从 c++ 中的链表中获取元素
- C++删除链表中的元素
- 我正在尝试计算链表中当前元素的数量
- 为什么将函数的返回类型从结构节点*更改为void后,链表的元素没有显示create_ll和显示?
- 如何从几乎排序的链表中分离放错位置的元素?
- 如何比较链表的元素?
- 链表 - 元素在删除后出现
- C++链表最后一个元素的迭代器?
- 如何找到双向链表的最大元素?
- 使用带有结构结构作为 C++; 元素的单向链表
- 如何检查单向链表的每个 3 个元素,然后删除其中一些元素?
- 将元素添加到 Head 的双链表
- 算法-统一随机元素链表