Aggiungere in Testa
elem *p = new elem;
p->info = info;
...
p->next = listaClasse;
listaClasse = p;
Aggiunge Ordinato
elem *&p0 = listaClasse;
elem *p = 0;
elem *q;
elem *r;
for (q=p0, q!=0 && q->info < t; q=q->next) {
- p=q; scorrilsta fino a trovare < t
r = new elem;
r->info = t;
r->next = q;
if (q==p0) {
p0 = r; se p0 = lista 2 e size--
} else {
p->next=r
}
Aggiungi Coda
elem *&p0=listaClasse
elem *q;
elem *p;
for(q=p0; q!=0; q=q->pun ) {
- p=q;
- scorri fino a find q
q=new elem;
q->info = q;
q->pun=nullptr;
info, vedi no elem.
if(p0==0) {
p0=q;
} else {
p->pun=q;
}
Crea Lista
Classe::Classe (int q) {
if(q<0) {
lista=null;
} else {
lista=new elem;
list a->next=null;
lista->info=q;
}
Aggiungere in Testa
elem *p = new elem;
p->info = info;
...
p->next = listaClasse;
listaClasse = p;
Aggiunge Ordinato
elem *&p0 = listaClasse;
elem *p = 0;
elem *q;
elem *r;
for(q = p0, q != 0 && (q->info <q); q = q->next) {
p = q;
}
r = new elem;
r->info = q;
r->next = q;
if(q == p0) {
p0 = r;
lista = r;
}
else {
p->next = r
}
Aggiungi Coda
elem *&p0 = listaClasse;
elem *q;
elem *p;
for(q = p0, q != 0, q->pun) {
p = q;
}
q = new elem;
q->info = q;
q->pun = null;
if(p0 == 0) {
p0 = q;
}
else {
p->pun = q;
}
Crea Lista
Classe::Classe(int q) {
if(q <= 0) {
lista = null;
}
else {
lista = new elem;
lista->next = null;
lista->info = q;
}
Scorrere Lista
scorri(const elem e) {
elem *pc;
for(pc = e.listaClasse; pc != null; pc = pc->next) {
...
}
Estrazione Testa
elem *& p0 = listaClasse,
elem *p = p0;
if(p0 == 0) {
return;
}
q = p0->info; - mi salvo il valore
p0 = p0->pun
delete p;
Estrazione Fondo
elem *& p0 = listaClasse,
elem *p;
elem *q;
if(p0 == null) {
return;
}
for(q = p0; q!=null; q=q->next) {
p = q;
}
q = q->info;
if(q == p0) {
p0 = null;
} else {
p->pun = null;
}
delete q;
Concatenare L2 Alla Fine di L1 [Inserimento coda]
class& class::operator+=(const class& e2) {
elem *copio = null; devo creare una copia
elem *q;
elem *p2;
for(q = e2.lista; q != null; q=q->next) {
if(copio==null) {
copio = new elem;
p2 = copio;
} else {
p2->next = new elem;
p2 = p2->next;
}
p2->info = q->info;
p2->next = null;
}
elem *ultimo=null; trovo ultimo elem della lista1
for(elem *p=p0; p!=null; p=p->next) {
ultimo = p;
}
if(ultimo==null) {
concateno la lista copia alla fine della lista1
ultimo=copia;
} else {
ultimo->next=copia;
}
return *this;
}
ESTRAZIONE ELEMENTO A
elem *pFO= listaClasse;elem *p = null;elem *q;elem xq;for(q=pO, q!=null && q->inf(==a, q=q->pun)) q = q;
if(q==0){ return;}if(q==pO){ pO=q->pun;}else{ p->pun = q->pun;}delete q;
RIDEFINIZIONI
next=q; } else p'=>next=q; ptr=q; } c::=next;}
Mettere lista in array (commenti)
char* &vet; vett = new char[dim+1]; elemento[0] = '\0'; for( q=classe, g=lo, mq, g=g->nexto) strcpy(vett, g->point);
2 Classi
complse; classseclasse2 vett;
Aggiungere elemento arr din
Classe B Classe::Pezione(int o) int** &vet; vett[dim][vetclasse]; vetclasse = vet; delete[] vetclasse; vettesto = vet; returnSints;
Costruttore classe 2
file.cpp Classe2::Classe2(int os); Ns=1; vet = new classe[N]; for(int i=0next) {}q= new elem;q->info = a;q->next=nullptr;if (lste[n] == nullptr) { lste[n] = q;} else { p->next = q;}
-
Programmazione - Spiegazione C++, Puntatori e liste, Java (base)
-
Programmazione in C++ : Programmi sulla costruzione di liste collegate (e puntatori)
-
Prove parziali Fondamenti di informatica, 2020 svolte: liste e calcolo binario
-
Prove Fondamenti di informatica, 2021-2022: MIPS avanzato e complessità liste