La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Esercizio Si legga una sequenza di numeri interi da tastiera (terminatore: 0), quindi: Creare lista L1 con inserimento in testa; cons Creare lista L2 con.

Presentazioni simili


Presentazione sul tema: "Esercizio Si legga una sequenza di numeri interi da tastiera (terminatore: 0), quindi: Creare lista L1 con inserimento in testa; cons Creare lista L2 con."— Transcript della presentazione:

1 Esercizio Si legga una sequenza di numeri interi da tastiera (terminatore: 0), quindi: Creare lista L1 con inserimento in testa; cons Creare lista L2 con inserimento in coda; cons_tail Stampa delle due liste; showlist Ricerca dell’elemento n nella lista; member Calcolo della lunghezza della lista; length Calcolo della somma degli interi; sumlist Estrapolazione di una sotto-lista, dalla posizione k alla fine. sublist

2 Esercizio Si legga una sequenza di numeri interi da tastiera (terminatore: 0), quindi: Creare lista L1 con inserimento in testa; Creare lista L2 con inserimento in coda; Stampa delle due liste; Ricerca dell’elemento n nella lista; Calcolo della lunghezza della lista; Calcolo della somma degli interi; Estrapolazione di una sotto-lista, dalla posizione k alla fine. Ricorsive o ITerative?

3 Esercizio Si legga una sequenza di numeri interi da tastiera (terminatore: 0), quindi: Creare lista L1 con inserimento in testa; Creare lista L2 con inserimento in coda; Stampa delle due liste; R+IT Ricerca dell’elemento n nella lista; R+IT Calcolo della lunghezza della lista; R+IT Calcolo della somma degli interi; R+IT Estrapolazione di una sotto-lista, dalla posizione k alla fine. R+IT Ricorsive o ITerative?

4 Esercizio main.clista.c Lista.h Come definire due funzioni che fanno la stessa cosa in C ma in modi diversi??

5 Esercizio main.clista.c Lista.h Banalmente usando un nome di funzione diverso (member, member_r) Altro modo?

6 Esercizio main.c #ifndef RECURSIVE // Tutte le funzioni NON // ricorsive #endif #ifdef RECURSIVE // Tutte le funzioni // ricorsive #endif lista.c Lista.h #define RECURSIVE Banalmente usando un nome di funzione diverso (member, member_r) Meno banalmente: usando istruzioni al precompilatore (#ifdef, #ifndef) Differenza??

7 Esercizio Lista.h #define RECURSIVE typedef struct node{ int n; struct node *next; } listNode; typedef listNode* list; list cons(int n, list l); list consTail(int n, list l); int sumList(list l); //R+IT void showlist(list l); //R+IT int length(list l); //R+IT int member(int n, list l); //R+IT list subList(int k, list l); //R+IT


Scaricare ppt "Esercizio Si legga una sequenza di numeri interi da tastiera (terminatore: 0), quindi: Creare lista L1 con inserimento in testa; cons Creare lista L2 con."

Presentazioni simili


Annunci Google