主题:实现两个顺序表的异或操作(要有程序)
红叶爱神
[专家分:0] 发布于 2006-12-25 21:57:00
数据结构的程序,希望看到的高手能帮助我提高计算机专业知识,您的帮助是我提高的基石。希望能看到高手的程序,谢谢!
我写了很久,程序还是运行不了,希望能得到高手的指点!
谢谢!
回复列表 (共2个回复)
沙发
雪光风剑 [专家分:27190] 发布于 2006-12-25 22:39:00
你把代码贴上来给大家帮你分析
板凳
蕴风轻飘 [专家分:20] 发布于 2007-06-27 15:03:00
#include <iostream>
#include<conio.h>
using namespace std;
#define OK 1;
typedef struct Table
{
int data;
struct Table *next;
}Link,*PLink;
int Len1=0,Len2=0,Len=0;
void Create(PLink &La)
{
char ch;
scanf("%c",&ch);
if(ch!='#')
{
La=new Link();
La->data=ch-'0';
Create(La->next);
}
else
{
La=NULL;
}
}
int Lenth(PLink La)
{
while(La!=NULL)
{
Len++;
La=La->next;
}
return Len;
}
void Comp(PLink La,PLink Lb)
{
while(La!=NULL)
{
if(La->data==Lb->data)
{
La->data=0;
}
else
La->data=1;
La=La->next;
Lb=Lb->next;
}
}
void Show(PLink La)
{
cout<<"异或结果:"<<endl;
while(La!=NULL)
{
cout<<La->data;
La=La->next;
}
}
int main()
{
PLink La,Lb;
cout<<"输入第一个的链表元素"<<endl;
Create(La);
Len1=Lenth(La);
Len=0;
cout<<"输入第二个的链表元素"<<endl;
Create(Lb);
Len2=Lenth(Lb);
if(Len1==Len2)
{
Comp(La,Lb);
Show(La);
}
else
{
cout<<"输入错误"<<endl;
}
cout<<endl;
getch();
return OK;
}
这是上述的一个代码,但好象有错误,请楼上的朋友帮忙解决一下,谢谢!!
我来回复