Windows 已在 数据结构_顺序表.exe 中触发一个断点——new和delete注意事项

实现数据结构的顺序表的类时,输入,改,删,查都可以,但是最后析构函数时持续出错

错误提示“Windows
已在 数据结构_顺序表.exe 中触发一个断点”

int
*elem=new int(LIST_INIT_SIZE);

if(!elem)cout<<"overflow"<<endl;

if(leng>LIST_INIT_SIZE)

cout<<"error";

else

{    length=leng;

int i=0;

int *p=elem;

for (i;i<leng;i++)

{

cout<<"input"<<i+1<<"num:";

cin>>*(p+i);

}

}

最后析构delete
elem总是出错,

原因:int
*elem = new int[size];和int *elem = new
int(size);是不一样前者是一个数组后者只是一个int型指针,所以你在访问到系统内存的时候会报错,碰巧了16前没有访问到系统内存,

修改

int
*elem=new int [LIST_INIT_SIZE];

来自为知笔记(Wiz)

Windows 已在 数据结构_顺序表.exe 中触发一个断点——new和delete注意事项

时间: 2024-10-03 00:23:26

Windows 已在 数据结构_顺序表.exe 中触发一个断点——new和delete注意事项的相关文章

数据结构_顺序表

线性表的顺序存储是指在内存中用地址连续的一块存储空间顺序存放线性表的各元素,用这种存储形式存储的线性表称为顺序表. 顺序表实现的头文件SeqList.h: 1 #ifndef SEQLIST_H 2 #define SEQLIST_H 3 4 #include <iostream> 5 6 using namespace std; 7 8 template<class T> 9 class SeqList 10 { 11 public: 12 SeqList(int size =

中触发一个断点 其原因可能是堆被损坏,这说明 ***.exe 中或它所加载的任何 DLL 中有 Bug

软件中使用了DevComponents.DotNetBar2.dll MessageBoxEx.Show("ddd");运行到这句出现这个错误 : 解决: 主exe版本(.net framework 4.5) 调用了DevComponents.DotNetBar2.dll(.net framework 2.0) 将主exe版本也改成(.net 2.0)即可

数据结构-线性表_顺序表

进入大学一年了,今日终于有勇气写写随笔并展示出来了. 如有不足之处,请大家指正. 今日我想写的就是我对数据结构-线性表_顺序表的理解. 不BB了,进入正题!!!!! 数据结构中的逻辑结构分为线性结构和非线性结构,而线性表就属于线性结构. 线性结构是 n 个数据元素的有序(次序)集合,它有下列几个特征: 集合中必存在唯一的一个 "第一个元素": 集合中必存在唯一的一个 "最后的元素": 除最后元素之外,其它数据元素均有唯一的 "后继": 除第一元素

数据结构_线性表的顺序表示和链式表示

/********************************************************************************************************************/ 声明: (1)*.h文件是代码声明, *.cpp文件是代码实现; (2)一般头文件的内容有: ①类型声明; ②函数声明; ③枚举; ④常量; ⑤宏 (3)以下说明是为了方便代码文件的管理而设定的一些规则, 以后代码都会按照此规则编写: 1)Pubuse.h 是几

数据结构之顺序表(C++版)

#include <iostream>#include <stdlib.h>#define MAXLISTSIZE 100 //预设的存储空间最大容量 using namespace std; typedef string ElemType;typedef struct{ ElemType *elem; //存储空间基址 int length; //当前长度 int listsize; //允许的最大存储容量(以sizeof(ElemType)为单位)}SqList; //俗称顺序

数据结构复习---顺序表和单链表

1.前言: 最近比较浮躁,想学习一门新的技术却总是浅尝辄止,遇到不懂的地方就想跳过去,时间长了,心态就有点崩了.静下心来,去喝了几碗心灵鸡汤.鸡汤博主感动到了我:"无专注,无风景.不要太贪心,一次只做一件事,而且只做最重要的事.".于是乎,我把家里翻了个底朝天,找到了我垫在床底下的<数据结构>这本书,觉得自己是时候静下心来好好复习一下基础了.今天刚看到顺序表和链表,把我的学习心得记录在这里.也希望自己能坚持,老老实实的把这本书复习完. 2.数据结构的重要性: 讲一门知识之前

数据结构。顺序表

#include <stdio.h>#include <stdlib.h> #define LIST_INIT_SIZE 100#define LIST_INCREMENT 10typedef struct Point   //element type{    int x;    int y;}Point;typedef Point ElemType;typedef struct          //list type{    ElemType *elem;     //data

数据结构实践——顺序表应用

[项目 - 顺序表应用] 定义一个采用顺序结构存储的线性表,设计算法完成下面的工作: 1.删除元素在[x, y]之间的所有元素,要求算法的时间复杂度为O(n),空间复杂度为O(1): 2.将所在奇数移到所有偶数的前面,要求算法的时间复杂度为O(n),空间复杂度为O(1). 提示: (1)充分利用前面建立的算法库解决建立顺序表.输出线性表的问题: (2)为保证复杂度的要求,设计算法并用专门的函数实现算法: (3)每项工作写一个程序,并发布博文,展示你的实践成果. [参考解答] (注:项目中所需要的

数据结构之顺序表的合并

写一个程序完成以下功能: (1)  一条记录有学号和成绩两个数据项,依次输入数据(学号,成绩): (5,60),(6,80),(7,76),(8,50),建立一个顺序表,并写一个插入函数,把以上数据写到主函数中依次调用插入函数.要求:先输入的数据排在前面,不要按学号或成绩从大到小排序. (2)  依次输出表中所有数据. (3)  写一个函数对表中所有数据按照成绩从大到小进行排序. (4)  再次输出所有数据. (5)  建立另外一个顺序表,依次输入数据:(10,70),(20,85),(30,7