回 帖 发 新 帖 刷新版面

主题:实现两个顺序表的异或操作(要有程序)

数据结构的程序,希望看到的高手能帮助我提高计算机专业知识,您的帮助是我提高的基石。希望能看到高手的程序,谢谢!
我写了很久,程序还是运行不了,希望能得到高手的指点!
谢谢!

回复列表 (共2个回复)

沙发

你把代码贴上来给大家帮你分析

板凳

#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;
}
这是上述的一个代码,但好象有错误,请楼上的朋友帮忙解决一下,谢谢!!

我来回复

您尚未登录,请登录后再回复。点此登录或注册