#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
typedef int Status;
typedef int ElemType;
typedef struct LNode { //声明结点的类型和指向结点的指针类型
ElemType data; //数据元素的类型
struct LNode *next; //指示结点地址的指针
}LNode, *LinkList;
void InitList_L(LinkList &L){
L=(LinkList)malloc(sizeof(LNode));
if(!L)exit (OVERFLOW);
L->next=NULL;
}//初始化
void DestroyList_L(LinkList &L){
//销毁以 L 为头指针的单链表,释放链表中所有结点
while(L){
LinkList p=L;
L=L->next;
free(p);
}//while
}//DestroyList_L
void CreateList_L(LinkList &L, int n){
int i;
L=(LinkList)malloc(sizeof(LNode));
if(!L)exit (OVERFLOW);
L->next=NULL;
for(i=n;i>0;i--){
LinkList p=(LinkList)malloc(sizeof(LNode));
scanf("%d",&p->data);
p->next=L->next;
L->next=p;
}
}//头插法建表
Status GetElem_L(LinkList &L, int i, ElemType e){
LinkList p=L->next;
int j=1;
while(p&&j<i){
p=p->next;j++;
}
if(!p||j>i) return ERROR;
e=p->data;
return OK;
}//按序号查找
Status ListInsert_L(LinkList &L, int i, ElemType e){
LinkList p=L; int j=0;
while( p && j<i-1){p=p->next; ++j;} //寻找第 i-1 个结点
if(!p || j>i-1) return ERROR; // i 小于 1 或者大于表长
LinkList s=(LinkList)malloc(sizeof(LNode)); // 生成新结点
s->data=e;
s->next=p->next; //插入 L 中
p->next=s;
return OK;
}//LinstInsert_L
Status ListDelete_L(LinkList &L, int i, ElemType &e) {
LinkList p=L; int j=0;
while( p->next && j<i-1) { p=p->next; ++j;}
if(!( p->next) || j>i-1) return ERROR; //删除位置不合理
LinkList q=p->next;
p->next=q->next; //删除结点
e=q->data;
free(q); //释放结点
return OK;
}//ListDelete_L
void ListShow_L(LinkList L){
LinkList p=L->next;
while (p){
printf("%d\t",p->data);
p=p->next;
}
printf("\n");
}
int main(){
LinkList La;
int i,n;
ElemType e;
InitList_L(La);
scanf("%d",&n);
for(i=0;i<n;i++){
scanf("%d",&e);
ListInsert_L(La,i+1,e);
}
ListShow_L(La);
return 0;
}
代码没错,但是输入数据后按回车键黑框就消失了
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- CSDN专家-link 2021-10-13 13:37关注
if(!p || j>i-1) return ERROR; // i 小于 1 或者大于表长
应该是 if(p==NULL || j>i-1) return ERROR;吧
怎么会!p呢。解决 1无用
悬赏问题
- ¥15 公交车和无人机协同运输
- ¥15 stm32代码移植没反应
- ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
- ¥100 连续两帧图像高速减法
- ¥15 组策略中的计算机配置策略无法下发
- ¥15 如何绘制动力学系统的相图
- ¥15 对接wps接口实现获取元数据
- ¥20 给自己本科IT专业毕业的妹m找个实习工作
- ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
- ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)