La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Schiavone & Scalas 2 In informatica, il termine stack o pila viene usato in diversi contesti per riferirsi a strutture dati le cui modalità d'accesso.

Presentazioni simili


Presentazione sul tema: "Schiavone & Scalas 2 In informatica, il termine stack o pila viene usato in diversi contesti per riferirsi a strutture dati le cui modalità d'accesso."— Transcript della presentazione:

1

2 Schiavone & Scalas 2

3 In informatica, il termine stack o pila viene usato in diversi contesti per riferirsi a strutture dati le cui modalità d'accesso seguono una politica LIFO (Last In First Out) più in generale la pila è una struttura dati lineare a cui si può accedere soltanto mediante uno dei suoi capi per inserire(PUSH) e per estrarre(POP) dati. Schiavone & Scalas3 Menù

4 Pila Sequenziale: sequenza di locazioni adiacenti in un vettore; segue una politica LIFO per cui il primo elemento inserito è anche il primo ad essere estratto. Si inserisce sempre in testa. Quando inserisco un elemento eseguo Push e quando ne estraggo uno eseguo un’operazione di Pop. SequenzialePushPop Schiavone & Scalas4 Menù

5 Concatenata: successioni di nodi collegato tra loro tramite puntatori dove l’ultimo nodo non ha successori. Si accede tramite un puntatore di testa e le operazioni di inserimento ed estrazione avvengono solo in testa alla struttura dati. Concatenata Schiavone & Scalas5 Menù

6 Sequenziale Schiavone & Scalas6 top top  0 pila vuota top  max pila piena Menù

7 Concatenata Schiavone & Scalas7 PILA testa info Menù

8 Schiavone & Scalas8 Push 7 Push 15 Push 5Push 10 Pop Menù

9 Schiavone & Scalas9 Per inserire un elemento nella Pila è importante effettuare un’operazione di Push. Con questa operazione il dato inserito si troverà alla testa dello Stack e ad ogni operazione di Push il puntatore verrà incrementato 1.Controllare che la pila non sia Piena *IsFull* 2.Incrementa il puntatore 3.Inserimento di un elemento (Push) Menù

10 Schiavone & Scalas10 Per estrarre un elemento nella Pila è importante effettuare un’operazione di Pop. Con questa operazione il dato da estrarre si dovrà trovare alla testa dello Stack e ad ogni operazione di Pop il puntatore verrà decrementato 1.Controllare che la pila non sia Vuota *IsEmpty* 2.Estrarre l’elemento (Pop) 3.Decrementare Menù

11 Analisi Schiavone & Scalas11 Il programma comincia presentando un menù dove vi si possono effettuare 5 scelte che sono le seguenti: 1.inserimento elementi 2.stampa elementi 3.somma elementi 4.Pop 5.ESCI Con la prima scelta viene chiesto all’utente il numero di elementi che vuole inserire <

12 Analisi dei dati Schiavone & Scalas12 VARIABILEDESCRIZIONETIPOI/O/A SCÈ la variabile che serve per effettuare la scelta nel menù intI NEÈ il numero di elementiintI IÈ il contatore del forintI P1È la pilaPilaI/O NÈ il nodoNodoI INFOÈ il campo del nodo dove viene inserita l’informazione IntI Menù

13 Schiavone & Scalas 13 Flow Chart Menù

14 Schiavone & Scalas14 Menù

15 Schiavone & Scalas15 Menù

16 Codice Schiavone & Scalas16 Menù #include <<<<

17 Schiavone & Scalas17 Menù switch(sc){ case 1: clrscr(); printf("quanti elementi vuoi inserire?"); scanf("%d",&ne); for(int i=1;i<=ne;i++) { Temp=new Nodo; printf("inserisci il %d ø elemento: ",i); scanf("%d",&Temp->Info); Temp->Next=NULL; Push(P1,Temp); } break; case 2: Stampa(P1); getch(); break; case 3: Stampa(P1); printf("Somma elementi= %d ",Somma(P1)); getch(); break; case 4: Nodo *Ntemp=Pop(P1); delete Ntemp; gotoxy(1,5); break; default: break; } }while(sc!=5); } <<<<<

18 Schiavone & Scalas18 <<<<Next; N->Next=NULL; } else printf("pila underflow"); return(N); } <<<<Next=P.Testa; P.Testa=N; } <<<Info); Temp=Temp->Next; }} Menù <<<<Info; Temp=Temp->Next; } return(somma); }

19 Schiavone & Scalas19 Menù


Scaricare ppt "Schiavone & Scalas 2 In informatica, il termine stack o pila viene usato in diversi contesti per riferirsi a strutture dati le cui modalità d'accesso."

Presentazioni simili


Annunci Google