|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Apr 2002
Città: Vigevano(PV)
Messaggi: 2124
|
[C++]Problema ricerca
Ho il seguente cod:
Codice:
#include <iostream>
#include <string>
#include <cmath>
#include <cstdio>
using namespace std;
#ifndef LIST_H
#define LIST_H
// Liste bilaterale
struct lista
{
int data;
lista *next;
lista *prev;
};
void inizializza(lista ls);
lista *aggiungi(lista *ls, int n);
lista *cerca(lista *ls, int index, int mode=0);
void inizializza(lista *ls)
{
ls->data = 0;
ls->next = NULL;
ls->next = NULL;
}
lista *aggiungi(lista *ls, int n)
{
if(ls->prev == NULL){ // primo elemento
lista *tmp = ls;
tmp->data = n;
tmp->prev = ls;
tmp->next = NULL;
ls = tmp;
}
lista *tmp;
tmp->data = n;
tmp->prev = ls;
tmp->next = NULL;
ls->next = tmp;
return ls;
}
lista *cerca(lista *ls, int n, int mode)
{
lista* p = ls;
while( (p->next != NULL) && (p->data != n) ){
p = p->next;
}
return p;
}
#endif
Codice:
//main.cpp
#include "list.h"
int main( )
{
lista *primo;
inizializza(primo);
aggiungi(primo, 8);
aggiungi(primo, 7);
aggiungi(primo, 6);
lista *trovato = cerca(primo, 3);
cout << "Elemento 3 == " << trovato->data;
cout <<endl;
system( "PAUSE" );
return 0;
}
Come posso risolvere????? Tnk 10000
__________________
Gnu/Linux User
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Jan 2000
Messaggi: 551
|
se devi imparare le strutture dati va bene...
se no usa la STL!!!! |
|
|
|
|
|
#3 | |
|
Bannato
Iscritto dal: Nov 2002
Città: PV
Messaggi: 1210
|
Quote:
si ma questo nn mi aiuta a capire dove sbaglio |
|
|
|
|
|
|
#4 | |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Quote:
|
|
|
|
|
|
|
#5 |
|
Bannato
Iscritto dal: Mar 2002
Città: Pescara - 未婚・恋人なし Moto: Honda CBR 1000 RR Casco: XR1000 Diabolic 3
Messaggi: 27578
|
Aspetta che continuano ad esserci grossi errori. La funzione inizializza() non imposta il campo previous a qualcosa. Inoltre il primo nodo di una lista doppiamente concatenata dovrebbe avere un campo previous che punta a se stesso.
|
|
|
|
|
|
#6 | |
|
Senior Member
Iscritto dal: Mar 2002
Città: Italy/Usa
Messaggi: 2817
|
Re: [C++]Problema ricerca
Quote:
non dovresti avere un prev anzichè 2 next a null?
__________________
"Utilizzando atomi pentavalenti drogheremo il silicio di tipo n; Utilizzando atomi trivalenti drogheremo il silicio di tipo p; Utilizzando della cannabis ci drogheremo noi e vedremo il silicio fare cose impossibili" - DSDT-HowTo |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:37.



















