问题遇到的现象和发生背景
不能正确运行,程序没执行完异常退出
用代码块功能插入代码,请勿粘贴截图
#include <iostream>
using namespace std;
////////////////////////////////////////////////////////////////////////////
#define ERROR 0
#define OK 1
typedef int Status; //单链表中的元素为整型
typedef int ElemType;
////////////////////////////////////////////////////////////////////////////
//单链表的类型定义
typedef struct LNode {
ElemType data; // 数据域
struct LNode* next; // 指针域
}LNode, * LinkList;
////////////////////////////////////////////////////////////////////////////
//创建含n个元素的非递减有序单链表 ,注意插入排序
void CreateList_Lsort(LinkList& L,int n) {
L->next = NULL;
LNode* p_new = L->next;
//新建立一个数组存放输入的元素的值
int a[1024];
//利用冒泡发先对输入的数据进行排序
for (int m = 0; m < n; ++m) { cin >> a[m]; }
int u, v,temp=0;
for(u=0;u<n;++u)
for(v=0;v<n-u-1;++v)
{
if (a[v] <= a[v + 1]) { temp = a[v]; a[v] = a[v + 1]; a[v + 1] = temp; }
}
//创建一个链表按序将已经排列好的数据存放到链表中
for (int j = 0; j < n; ++j) {
p_new = new LNode;
p_new->data=a[j];
p_new->next = L->next;
L->next = p_new;
}
}//CreateList_Lsort
//输出单链表
Status PrintList_L(LinkList L) {
LinkList p = L->next;
while (p) {
cout << p->data << " ";
p = p->next;
}
cout << endl;
return OK;
}//PrintList_L
int main() {
LinkList La;
int n;
cin >> n;//输入线性链表La的长度
CreateList_Lsort(La, n);
PrintList_L(La);
return 0;
}
运行结果及报错内容
0x00ED6A4B 处(位于 test.exe 中)引发的异常: 0xC0000005: 写入位置 0xCCCCCCD0 时发生访问冲突。