Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 尝试创建已排序的动态列表(数据结构)_C++_Arrays_Pointers - Fatal编程技术网

C++ 尝试创建已排序的动态列表(数据结构)

C++ 尝试创建已排序的动态列表(数据结构),c++,arrays,pointers,C++,Arrays,Pointers,各位晚上好。我现在正在做的程序与排序和数据结构有关。我已经在列表中输入了一些值。我想对它们进行排序,为此,我将每个节点上的值提取到一个数组中,然后对数组进行排序。我对将排序后的值放入列表感到困惑 这是包含结构、类和函数定义的代码(未提及类的完整定义) #定义最大值30 结构数据 { int-val,索引; 数据*下一步; }; 类经验 { 数据*beg;整数计数; int-arr[max]; 公众: exp() {beg=NULL; 计数=0;} }; 我之所以感到困惑是因为: void ex

各位晚上好。我现在正在做的程序与排序和数据结构有关。我已经在列表中输入了一些值。我想对它们进行排序,为此,我将每个节点上的值提取到一个数组中,然后对数组进行排序。我对将排序后的值放入列表感到困惑

这是包含结构、类和函数定义的代码(未提及类的完整定义)

#定义最大值30
结构数据
{
int-val,索引;
数据*下一步;
};
类经验
{
数据*beg;整数计数;
int-arr[max];
公众:
exp()
{beg=NULL;
计数=0;}
};
我之所以感到困惑是因为:

void exp::sort_ins()
{
排序();
数据*temp=beg;
int i=0;
做
{
温度->val=arr[i];
温度=温度->下一步;
i++;
}而(i
我的问题是,在更改与temp关联的值(基本上是从头到尾)之后,实际上会更改与“beg”关联的节点的值吗?我的意思是说,在执行这段代码之后,如果我试图获取附加到“beg”的节点的值,这些值会被更新吗?还是我需要添加其他内容?如果可能的话,我想链接到相关的理论学习目的(纯可选)

谢谢你抽出时间


(我还没有给出完整的代码,如果需要,我可以分享。)

是的,更改
temp
指向的内容也是更改
beg
指向的内容,因为它们都指向相同的数据


如果你复制了一个指针,你会发现两个指针指向同一个东西。任何一个指针都可以用来改变它。指针就是这样工作的。

是的,更改
temp
指向的内容也是
beg
指向的内容,因为它们都指向相同的数据


如果你复制了一个指针,你会发现两个指针指向同一个东西。任何一个指针都可以用来改变它。指针就是这样工作的。

使用
std::vector
std::sort
并且已经完成。如果项目已经在数组中排序,只需使用排序的项目从头开始重新构建一个新列表。一般来说,请求非站点资源是SO的主题。也就是说,你可以试试。而且,你也可以一直使用谷歌C++指针。这也会给你一些不错的链接。谢谢大家。你的见解非常有用。老实说@PaulMcKenzie我从来没有想到过,这非常简单……使用
std::vector
std::sort
并且已经完成。如果项目已经在数组中排序,只需使用排序的项目从头开始重新构建一个新列表。一般来说,请求非站点资源是不合适的。也就是说,你可以试试。而且,你也可以一直使用谷歌C++指针。这也会给你一些不错的链接。谢谢大家。你的见解非常有用。老实说,@PaulMcKenzie我从没想过,这非常简单。。。。