c++ - Process exited with return value 3221226356
来源:3-3 归并排序法的优化
kinpowoo
2019-02-22
用 Dev-c++时会报这个错退出程序,说是数组越界访问,我的n设的是100万,报错指向 T aux[r-l +1]; 这里
写回答
1回答
-
liuyubobobo
2019-02-23
T aux[r-l+1]使用静态分配内存,数据量过大可能导致系统栈溢出,看看是不是这里的问题,尝试使用动态内存分配?:)
具体可以参考课程官方代码:12,13,14,16,和39行
另外,课程的补充代码中给出了另外一种归并排序的优化方法,可以之开辟一个临时的aux空间,传给递归函数使用,具体可以参考:https://github.com/liuyubobobo/Play-with-Algorithms/blob/master/03-Sorting-Advance/Course%20Code%20(C%2B%2B)/Optional-01-MergeSort-Create-aux-Array-Out-of-Merge/MergeSort2.h
注意68, 69, 70行的注释以及后续的调用过程的改变:)
继续加油!:)
00
相似问题