欢迎光临散文网 会员登陆 & 注册

错误代码

2023-03-15 09:53 作者:孒衿  | 我要投稿

#include <stdio.h>

#include <stdlib.h>

#define OK 1

#define ERROR 0

#define OVERFLOW -2

typedef int status,Elemtype;

typedef struct LNode{

    Elemtype data;//数据域

    struct LNode *next;//指针域

}LNode,*LinkList;

//函数声明

//创建单链表

 LinkList CreateList(int n);

 void ShowList;

 LinkList CreateList(int n){

    //创建一个空的单链表

  LinkList L=(LNode*)malloc(sizeof(LNode));

  L->next=NULL;

//采用后插法进行创建

  LNode *r=L;//初始化尾指针

  int i;

  LNode *p;

  for(i=0;i<n;i++){

        //创建新节点

    p=((LNode*)malloc(sizeof(LNode)));

    p->next=NULL;

    printf("请输入第%d个数据元素:",i);

    scanf("%d",&p->data);

    //插入到尾结点后,成为新的尾结点

    r->next=p;

    r=p;

}

printf("单链表创建完毕!");

return L;

}

  void ShowList(LinkList L){

    LNode *p=L->next;

    printf("单链表为:");

    while(p){

        printf("%d ",p->data);

        p=p->next;

    }


}

//插入函数

status ListInsert(LinkList L,int i,Elemtype e){

    LNode *p=L;

    int j=0;

    while(p&&j<j-1){

        p=p->next;

        j++;

    }

    if(!p||j>i-1){

        printf("插入位置不合法");

        return ERROR;

    }

    LNode *s=(LNode *)malloc(sizeof(LNode));

    s->next=e;

    s->next=p->next;

    p->next=s;

    printf("插入成功,更新后的单链表为:");

    ShowList(L);

    return OK;

}


int main()

{

    LinkList L=NULL;

    printf("请输入要创建的单链表的长度:");

    int n;

    scanf("%d",&n);

    L=CreateList(n);

    ShowList(L);

    printf("\n请输入要插入的位置和值,用空格间隔:");

    int i;

    Elemtype e;

    scanf("%d %d",&i,&e);

    ListInsert(L,i,e);

}


错误代码的评论 (共 条)

分享到微博请遵守国家法律