问题遇到的现象和发生背景
用代码块功能插入代码,请勿粘贴截图
运行结果及报错内容
我的解答思路和尝试过的方法
我想要达到的结果
#include<iostream.h>
#include<stdlib.h>
typedef int ElemType;
typedef struct LNode{
ElemType data;//结点数据域
struct LNode *next;//结点指针域
}LNode,*LinkList;
//初始化一个空的单链表L
void init(LinkList &L){ //Init()顺序表的初始化函数
L=(LinkList)malloc(sizeof(LNode)); //申请空间
L->next=NULL; //头结点的指针域置空,初始长度为0
}
//创建,
void createList(LinkList &L,int n){
ElemType ch;
LinkList p=L,s;
for(int i=1;i<=n;i++){
cin>>ch;
s=(LinkList)malloc(sizeof(LNode));//开启内存空间
s->data=ch; //新的节点数据
s->next=p->next;
p->next=s;
p=s;
}
}
//输出
void display(LinkList L){
LinkList p=L->next; //int s=0;
while(p){
cout<<p->data<<" "; //s+=p->data;
p=p->next;
}
}
//逆序输出
void nixv(LinkList L){
if(L!=NULL){
nixv(L->next);
cout<<L->data<<" ";
}
}
//插入
bool listInsert_L(LinkList &L,int i,ElemType e){
LinkList p=L,s; int j=0;
while(p&&j<i-1){
p=p->next;
j++;
}
if(!p||j>i-1) return false;
s=(LinkList)malloc(sizeof(LNode)); //开启新节点的内存
s->data=e; //把值传进去
s->next=p->next;
p->next=s;
return true;
}
//删除
bool linkDelete_L(LinkList &L,int i,ElemType e){
LinkList p=L,q;
int j=0;
while(p->next&&j<i-1){
p=p->next;//一直next知道找到输入的位置
j++;
}
if(!(p->next)||j>i-1) return false;
q=p->next;
p->next=q->next;
e=q->data;
cout<<e<<endl; //输出被删除的值
free(q);
return true;
}
逆序输出那里有个乱码 ,怎么修改