找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 1659|回复: 1

[求助]释放内存时出错

[复制链接]
发表于 2009-11-2 04:47:03 | 显示全部楼层 |阅读模式 IP:江苏扬州
完整的代码如下,但是释放内存出错的地方在代码的最下面。。希望高手解释一下出错的原因,感激不尽。。

#include <iostream>
using namespace std ;
int main()
{
void Conflate(int num[], int count, int res[], int base) ;
void EndConflate(int num[], int count) ;
int m_count ;
cin >> m_count ;
int *m_num = new int[m_count] ;
if(NULL == m_num)
{
cout << "内存分配错误!" << endl ;
exit(0) ;
}
for(int i=0; i<m_count; i++)
{
cin >> m_num[i] ;
}
EndConflate(m_num, m_count) ;
int m = 0 ;
for(i=0; i<m_count; i++, m++)
{
if(10 == m)
{
cout << endl ;
m = 0 ;
}
cout << m_num[i] << " " ;
}
delete []m_num ;
return 0 ;
}
void Conflate(int num[], int count, int res[], int base)
{
int up_num_f ; //第一个子数组的上界
int low_num_f = 0 ; //第一个子数组的下界
int up_num_b ; //第二个子数组的上界
int low_num_b ; //第二个子数组的下界
int pos = 0 ;
while(low_num_f+base <= count-1)
{
low_num_b = low_num_f + base ;
up_num_f = low_num_b - 1 ;
up_num_b = (low_num_b < count) ? (low_num_b+base-1) : (count-1) ;
for(int i=low_num_f, j=low_num_b; (i<=up_num_f && j<=up_num_b); pos++)
{
if(num[i] <= num[j])
{
res[pos] = num[i] ;
i++ ;
}
else
{
res[pos] = num[j] ;
j++ ;
}
}
while(i <= up_num_f)
{
res[pos] = num[i] ;
pos++ ;
i++ ;
}
while(j <= up_num_b)
{
res[pos] = num[j] ;
pos++ ;
j++ ;
}
low_num_f = up_num_b + 1 ;
}
for(int i=low_num_f; i<count; i++, pos++)
{
res[pos] = num[i] ;
}
}
void EndConflate(int num[], int count)
{
int base = 1 ;
int *temp = new int[count] ;
if(NULL == temp)
{
cout << "内存分配错误!" << endl ;
exit(0) ;
}
while(base < count)
{
Conflate(num, count, temp, base) ;
for(int i=0; i<count; i++)
{
num[i] = temp[i] ;
}
base = base * 2 ;
}
delete []temp ; //////////////////////////这里会出错,为什么呀??高手救命啊!!
}

希望高手解释一下出错的原因,感激不尽。。


另外,这个程序用于排序,但似乎结果有时不太正确,如果哪位有空,请帮忙看看(没空就算了哈)
发表于 2009-11-2 04:47:08 | 显示全部楼层 IP:江苏扬州
没有错吧,释放动态数组
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 03:27 , Processed in 0.177307 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表