本溪到抚顺的客车:c语言问题

来源:百度文库 编辑:高考问答 时间:2024/05/09 06:33:06
#define MAX_STACK_SIZE 100
#define NULL -1
typedef struct list_node *list_pointer;
typedef struct list_node{
int data;
list_pointer next;
};
typedef struct{
int key;
}element;
element stack[MAX_STACK_SIZE];
int top=-1;
list_pointer la=NULL;
list_pointer lb=NULL;
list_pointer lc=NULL;
la=(list_pointer)malloc(sizeof(list_node));
lb=(list_pointer)malloc(sizeof(list_node));
lc=(list_pointer)malloc(sizeof(list_node));
void insert(list_pointer *ptr,list_pointer node,int m);
void print_list(list_pointer ptr);
void add(int *top,element item);
element delete(int *top,element item);
void HerBin(list_pointer la,list_pointer lb,list_pointer lc);
void Panduan();

main()
{int a1[10]={0,2,4,6,8,10,12,14,16,18};
int b1[10]={0,3,6,9,12,15,18,21,24,27};
int i;
la->data=a1[0];
lb->data=b1[0];
for(i=1;i<10;i++)
{insert(&ptr,la,a1[i]);
insert(&ptr,lb,b1[i]);
}
HerBin(la,lb,lc);
print_list(la);
print_list(lb);
print_list(lc);
}

void add(int *top,element item)
{stack[++*top]=item;}

element delete(int *top)
{return stack[(*top)--];}

void insert(list_pointer *ptr,list_pointer node,int m)
{list_pointer temp;
temp=(list_pointer)malloc(sizeof(list_node));
temp->data=m;
if(ptr!=NULL){
temp->next=node->next;
node->next=temp;
}
else{
temp->next=NULL;
*ptr=temp;
}
}
void HerBin(list_pointer la,list_pointer lb,list_pointer lc)
{
int *p1,*p2;
element item;
int s[10];
int i;
p1=la;
p2=lb;
while((p1!=NULL)&&(p2!=NULL))
{PanDuan(p1,p2,item);}
for(i=0;top!=-1;i++)
{s[i]=delete(&top).key;}
lc->data=s[0];
for(i=0;s[i]!='\0';i++)
{insert(&ptr,lc,s[i]);}
}

void PanDuan(int *p1,int *p2,element item)
{
if(*p1<=*p2){item.key=*p1;add(&top,item);PanDuan(p1,p2);}
else {item.key=*p2;add(&top,item);PanDuan(p1,p2);}
}

void print_list(list_pointer ptr)
{
printf("The list contains:");
for(;ptr!=NULL;ptr=ptr->next)
printf("%d",ptr->data);
printf("\n");
}
帮我找找错误

void add(int *top,element item);
element delete(int *top,element item);
void HerBin(list_pointer la,list_pointer lb,list_pointer lc);
void Panduan();

main()
{int a1[10]={0,2,4,6,8,10,12,14,16,18};
int b1[10]={0,3,6,9,12,15,18,21,24,27};
这块全错了

老大 这个题我不会 不过提醒你一下 这么复杂的问题 你没有很高的悬赏怎么会有人回答呢

太长了,不想看