写入位置0xccccccc权限冲突

#include <conio.h>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
#define LEN sizeof(LNode)  //定义LEN为一个节点的长度

enum BOOL { False, True };  //定义BOOL型

typedef struct node

{
    int data;    //数据域

    struct node* next;//指向下一个节点的指针

}LNode, * LinkList;
void CreateList(LinkList& L,  int n)//生成一个单链表 后插法
{
   /* 
    LinkList r = L;
    LinkList p;     //如果这样写会报错0Xccccccc位置写入权限冲突;应该将L = new LNode 写在LinkList r = L 后面,
    L = new LNode;  //因为一开始并未给指针L new一个空间,L指针此时是一个空指针,赋值给r指针时,r也成了空指针,
    L->next = NULL; //空指针r->next不存在,所以会报错;
    */
    L = new LNode;
    L->next = NULL;
    LinkList r = L;//尾指针
    LinkList p;
    for (int i = 1; i <=n; i++)
    {
        p = new LNode;
        cin >> p->data;
        p->next = NULL; r->next = p;
        r = p;
    }
}

BOOL ListInsert(LinkList&L, int I, int E) { //在单链表中插入一个元素
    int j = 0;
    LinkList p ,s;
    p = L;
    while (p&&(j<I-1))
    {
        p = p->next; j++;
    }
    if (!p || j > I - 1)return False;
    s = new LNode;
    s->next = p->next;
    p->next = s;
    s->data = E;
    return True;

}
BOOL ListDelete(LinkList& L, int I, int& E) { //在单链表中删除一个元素
    LinkList p,r;
    int j = 1;
    p = L;
    while (p&&(j<I-1))
    {
        p = p->next; j++;
    }
    r = p->next;
    p->next = r->next;
    E = r->data;
    //True = (BOOL)E;
    delete r;
    return True;


}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值