如何解决合并排序程序中出现使用未初始化的内存阵列警告
我在 Visual Studio 社区中练习合并排序算法,我创建了一个名为 merge 的单独函数,用于对它们进行排序并将它们转移到不同的数组中
void merge(int* ar,int m,int l,int r,int size)
{
int i = l; /*l is the left most value position so l=0 and r is the right most position value so r=size-1*/
int j = m + 1;
int k = l;
int* temp;
temp = new int[size]; //created a temporrary array
while (i <= m && j <= r)
{
if (ar[i] <= ar[j])
{
temp[k] = ar[i];
k++;
i++;
}
else {
temp[k] = ar[j];
k++;
j++;
}
}
while (i <= m)
{
temp[k] = ar[i];
k++;
i++;
}
while (j <= r)
{
temp[k] = ar[j];
k++;
j++;
}
for (int p = 0; p < size; p++)
{
ar[p] = temp[p]; //warning is coming in this line
}
}
使用未初始化内存临时的警告即将出现,我无法摆脱它。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。