修改程序 数据结构(C语言)

来源:百度知道 编辑:UC知道 时间:2024/04/30 17:03:52
修改程序.通过C语言的数据结构 ,建立一个单链表,输入要输入数据的个数,然后逆序输入数据,然后全部输出,对给定的位置插入数据,然后输出。下面是自己编的程序有错误,有些缺少。望高手修正完善,本人在此先谢谢了。
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode{
ElemType data;
struct LNode *next;
}LNode,*LinkList;

void CreatList_L(LinkList &L,int n) {
L=(LinkList)malloc(sizeof(LNode));
L->next=NULL;
for(i=n;i>0;i--){
p=(LinkList)malloc(sizeof(LNOde));
scanf(&p->data);
p->next=L->next;
L->next=p;
}
while(p!=NULL)
{printf("%d",p->next);
p=p->next;}
}

Status ListInsert_L(ListInsert &L,int i,ElemType e)
{p=L;j=o;
while(p->next && j<i-1)
{ p=p->next;
++j;}
if(!(p->next)||j>i-1) return ERROR;
q=p->next; p->next=q->next;
e=q->data;free(q);
return OK;
}

void main ()
{
int n,i;
printf("in

高手不是只是帮你完善,看可不可。
#define NULL 0
#define TYPE struct stu
#define LEN sizeof(struct stu)
struct stu {
int num;
int age;
struct stu *next;
};

TYPE * creat(int n)
{
/*
*pf :前一个
*pb :后一个
*/
struct stu *head,*pf,*pb;
int i;
for (i=0;i<n;i++) {
pb=(TYPE *)malloc(LEN);
printf("input Number and Age\n");
scanf("%d%d",&pb->num,&pb->age);
if (i==0)
pf=head=pb;
else pf->next=pb;
pb->next=NULL;
pf=pb;
}
return(head);
}

TYPE * delete(TYPE * head,int num)
{
TYPE *pf,*pb;
if (head==NULL) {
printf("\nempty list!\n");
goto end;
}
pb=head;
while (pb->num!=num && pb->next!=NULL) {
pf=pb;
pb=pb->next;
}
if (pb->num==num) {
if (pb==head) head=pb->next;
else pf->