简单问题12 thanks

来源:百度知道 编辑:UC知道 时间:2024/06/24 10:33:01
#include<iostream> 这段程序能编译但是不知道哪错了 插入元素的时候就出现内存错误
using namespace std;
typedef int Type;
typedef struct node{
Type data;
node *next;
}node,*linklist;
int initlist(linklist &L){
L = new node;
if(L) return 0;
L->next = NULL;
return 1;
}
int getelem_l(linklist L,int i,Type &e){
node *p; int j;
p = L->next; j = 1;
while(p&&j < i) {
p = p->next;++j;}
if(!p||j >i) return 0;
e = p->data;
return 1;
}
int insertlist(linklist L,int i,Type &e){
node *p,*s; int j;
p =L;j=0;
while( p&&j <i-1) {p = p->next;++j;}
if(!p||j >i-1){ return 0;}
p = new node;
s = p->next;
p->data = e;
p->next = s;

return 1;
}
int deletelist(linklist L,int i,Type &e){
node *p,*s; int j;
p = L;

你的错误太多了,建议补充学习指针和函数调用,对了,还有数据结构再来提问吧.

自己设一个断点,看看那个位置出错。再发上来吧?

int insertlist(linklist L,int i,Type &e){
node *p,*s; int j;
p =L;j=0;
while( p&&j <i-1) {p = p->next;++j;}
if(!p||j >i-1){ return 0;}
s = new node;
s = p->next;
s->data = e;
p->next = s;

return 1;
}
//还不可以Hi一下