Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Usuwanie powtarzających się elementów w liście

Ostatnio zmodyfikowano 2015-01-05 10:35
Autor Wiadomość
maykel
Temat założony przez niniejszego użytkownika
Usuwanie powtarzających się elementów w liście
» 2015-01-04 14:21:42
Witam,

Zrobiłem program, który pokazuje mi na jakich liniach występuje dany wyraz.
Problem w tym, że jeśli dane słowo występuje pare razy w jednej linii to podaje mi ją kilka razy.
Mam problem z usunięciem powtarzających się lini z listy.

Tak wygląda moja struktura:
C/C++
struct Drzewo
{
    Tree * Left;
    Tree * Right;
    char * Word; // wyraz
    int Key; //ilosc wystapien
   
   
    List * Glowa;
    List * Ogon;
};

struct Lista
{
    List * Next;
    int Line; //nr lini
};
A tak funkcja usuwająca
C/C++
void Unique( List * head )
{
    List * p, * pc, * r;
   
    pc = head;
    while( pc )
    {
        p = pc;
        while( p->Next )
        if( p->Next->Line == pc->Line )
        {
            r = p->Next;
            p->Next = r->Next;
            free( r );
        }
        else p = p->Next;
       
        pc = pc->Next;
    }
   
}
P-124072
darko202
» 2015-01-05 10:35:35
Nie napisałeś na czym polega Twój problem

ale wydaje mi się ze nie rozumiesz czym jest p->Next->Line
powinno być p->Line w
 if( p->Next->Line == pc->Line )

P-124185
« 1 »
  Strona 1 z 1