运行错误,麻烦高手看一下哦 指点我一下
#include “stdio.h”
#include “conio.h”
typedef struct node
{
int data;
struct node *next;
}node,*linklist;
void initlist(linklist *l)
{
*l=(linklist)malloc(sizeof(node));
(*l)->next=0;
}
int createfromhead(linklist l,int a[])
{
node *s,*p;
int i,flag=1;
p=l;
while(flag)
{
for(i=0;i<10;i++)
{
if(a[i]!=’$')
{
s= (node *)malloc(sizeof(node));
s->data=a[i];
s->next= p->next;
p->next=s;
}
else
flag=0; return 0;
}
}
}
int inlist(linklist l,int i,int e)
{ node *p,*s;
int k,n;
if(i<1)
printf(“插入位置不合理” ); return 0;
p=l;k=0;
while(p->next!=0&&k<i-1)
{
p=p->next;
k=k+1;
}
if(!p)
{
printf(“插入位置不合理” ); return 0;
}
s= (node *)malloc(sizeof(node));
s->data=e;
s->next= p->next;
p->next=s;
printf(“cha ru e hou de biao :” );
for(n=0;n<11;n++)
printf(“%d “,p[n]);
return 1;
}
int dellist(linklist l,int i,int *e)
{ node *p,*s;
int k,n;
if(i<1) printf(“删除位置不合理” ); return 0;
p=l;k=0;
while(p!=0&&k<i-1)
{
p=p->next;
k=k+1;
}
if(!(p->next))
{
printf(“删除位置不合理” ); return 0;
}
s= p->next;
p->next= p->next->next;
e=s->data;
free(s);
printf(“shan chu wei zhi i hou de biao :” );
for(n=0;n<9;n++)
printf(“%d “,p[n]);
return 1;
}
linklist mergelinklist(linklist la,linklist lb)
{
node *pa, *pb,*r;
linklist lc;
pa=la->next;
pb=lb->next;
lc=la;
lc->next=0;
r=lc;
while(pa!=0&&pb!=0)
{
if(pa->data<=pb->data)
{r->next=pa;r=pa;pa=pa->next;}
else
{r->next=pb;r=pb;pb=pb->next;}
}
if(pa)
r->next=pa ;
else
r->next=pb ;
free(lb);
return(lc);
}
main()
{ int a[10],n,i,e,*p;
linklist la,lb,lc,l;
node *q;
printf(“input the numbers of 10 and with the end of $:\n”);
for(i=0;i<10;i++)
{
scanf(“%d”,&a[i]);
}
initlist(&l);
createfromhead (l,a) ;
printf(“输入你要在第几个位置插入的什么数字\n”);
scanf(“%d %d”,&i,&e);
printf( “插入后的表:”);
inlist( l, i, e);
printf(“输入你要删除的第几个位置:\n”);
scanf(“%d”,&i);
printf(“删除后的表:\n”);
dellist( l, i, &p);
printf(“输入要合并的表一:\n”);
for(i=0;i<10;i++)
{
scanf(“%d”,a[i]);
}
createfromhead( la,a);
printf(“输入要合并的表二:\n”);
for(i=0;i<10;i++)
{
scanf(“%d”,a[i]);
}
createfromhead( lb,a);
q=mergelinklist( la, lb);
printf(“表a和b合并后的表c:\n”);
for(i=0;i<20;i++)
printf(“%d”,q[i]);
}
>> 本文固定链接: http://www.vcgood.com/archives/2793
>> 转载请注明: houlianyou 2008年10月04日 于 C语言帝国 发表