|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 39
|
[c] non riesco a capire come sistemare il mio programma..
ciao a tutti. praticamente sono nuovo nuovo di questo linguaggio.
il mio problema consiste data una lista di interi che mi definisco io e dato un intero in ingresso la mia struttura deve diventare grossa n e ricopiare all interno della struttura nuova i miei numeri. ad esempio se la mia struttura contiene 1,2,3,4 e in ingresso n = 2 deve restituirmi un altra struttura contenente 1,2,3,4,1,2,3,4 il codice da me fatto è questo ma sto trovando dei problemi perchè non mi funziona. qualcuno gentilmente mi potrebbe dare una mano ?? grazie mille Codice:
struct StructLista {
TipoElemLista info;
struct StructLista *next;
};
typedef struct StructLista TipoNodoLista;
typedef TipoNodoLista *TipoLista;
//definizione della mia lista
void InitLista(TipoLista *lis)
// lista inizialmente vuota
{
*lis = NULL;
}
boolean vuota(TipoLista lis)
//mi dice se la lista è vuota o no
{
return (lis == NULL);
}
void Inserisci(TipoLista *lis, TipoElemLista elem)
// inserimento degli elementi
{
TipoLista lista;
lista = malloc(sizeof(TipoNodoLista));
lista->info = elem;
lista->next = *lis;
*lis = lista;
}
void Ultimo(TipoLista lis, TipoElemLista *elem)
// mi da l ultimo elemento della lista
{
if (lis != NULL)
*elem = lis->info;
}
voiid Clear(TipoLista *lis)
//mi cancella la lista
{
TipoLista lista;
while (*lis != NULL) {
lista = *lis;
*lis = (*lis)->next;
free(lista);
}
}
void CopiaLista(TipoLista lis, TipoLista *copia)
// Restituisce una copia della lista lista.
{
TipoLista prec; // puntatore all'elemento precedente
prec = malloc(sizeof(TipoNodoLista));
*copia = prec;
while (lis != NULL) {
prec->next = malloc(sizeof(TipoNodoLista));
prec = prec->next;
prec->info = lis->info;
lis = lis->next;
}
prec->next = NULL;
prec = *copia;
*copia = (*copia)->next;
free(prec);
}
grazie a tutti e scusate il disturbo Ultima modifica di maradona86 : 08-10-2007 alle 16:18. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2005
Messaggi: 7260
|
beh visto che riesci a ottenere una copia della lista potresti collegare l'ultimo elemento di una con il primo dell'altra modificando opportunamente un paio di puntatori
|
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 39
|
gia ma non so come farlo e non so se il programma è giusto! alla fine a logica sembra di si
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Jan 2007
Messaggi: 39
|
ragazzi qualcuno mi può dire come attaccare la nuova lista copiata alla lista esistente please???
ci sto sclerando |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 08:58.



















