Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Informatica


Index » educatie » Informatica
» Liste inlantuite - Creare. Inserare. Parcurgere. Cautare. Stergere.


Liste inlantuite - Creare. Inserare. Parcurgere. Cautare. Stergere.


Liste inlantuite - Creare. Inserare. Parcurgere. Cautare. Stergere.
  • Listele inlantuite ofera un mecanism extrem de eficient care poate fi utilizat in multe baze de date.
  • Tablourile, ca structuri de date, prezinta cateva dezavantaje:

intr-un tablou neordonat, cautarea este lenta;



intr-un tablou ordonat, inserarea este lenta;

dimensiunea unui tablou nu mai poate fi modificata dupa ce tabloul a fost creat.

  • Listele inlantuite sunt niste structuri de date care incearca sa rezolve dezavantajele utilizarii tablourilor.
  • Listele pot inlocui tablourile ca structuri de baza pentru implementarea altor structuri, cum ar fi stivele si cozile.
  • Intr-o lista inlantuita, fiecare element este incapsulat intr-o legatura. Legatura dintre elemente este implementata cu ajutorul unei clase Legatura.

class Legatura

Lista

Inlantuita  Legatura Legatura Legatura


  • Adaugarea unui element:


  • Stergerea unui element:


A. Liste simplu inlantuite. Liste simplu inlantuite cu doua capete.

Sa se creeze o lista simplu inlantuita care sa permita urmatoarele operatii:

- inserarea unui nou element la inceputul listei;

- stergerea primului element din lista

- cautarea unui element cu o anumita cheie;

- stergerea unui element cu o anumita cheie;

- parcurgerea listei si afisarea elementelor sale.

import java.io.*;

class Legatura

//afisare informatii

public void afisareLegatura()

class CLista

//intoarce true daca lista este vida

public boolean esteVida()

//inserare la inceputul listei

public void insereazaPrimul(int i)

//sterge primul element

public Legatura stergePrimul()

//parcurgere lista si afisare elemente

public void afisareLista()

System.out.println(' ');

}

//cauta element cu o valoare data, partea intreaga

public Legatura cauta(int caut)

else

temp=temp.urmator; //deplasare element urmator

}

return temp; //s-a gasit elementul

}

//sterge element cu o anumita valoare

public Legatura sterge(int caut)

else

} //elementul a fost gasit

if (curent==primul)

primul=primul.urmator;

else

precedent.urmator=curent.urmator; //se sare elemenul gasit

return curent;

}

}

class ListaSimplaAplicatie1

// introducere integer

public static int getInt() throws IOException

public static void main(String[] args) throws IOException


}

  • Null

     

    urmatorul

 

urmatorul

 

urmatorul

 

Primul

Ultimul

 
O lista cu doua capete are in plus, fata de o lista obisnuita, o referinta catre ultima inregistrare.

Sa se creeze o lista simplu inlantuita cu doua capete care sa permita urmatoarele operatii:

- inserarea unui nou element la inceputul listei;

- inserarea unui nou element la sfarsitul listei;

- stergerea primului element din lista

- parcurgerea listei si afisarea elementelor sale.

import java.io.*;

class Legatura

//afisare informatii

public void afisareLegatura()

class CLista

//intoarce true daca lista este vida

public boolean esteVida()

//inserare la sfarsitul listei

public void insereazaUltimul(int i)

//inserare la inceputul listei

public void insereazaPrimul(int i)

//sterge primul element

public int stergePrimul()

//parcurgere lista si afisare elemente

public void afisareLista()

System.out.println(' ');

}

}

class ListaDouaCapeteAplicatie2

// introducere integer

public static int getInt() throws IOException

public static void main(String[] args) throws IOException


B. Implementarea stivelor si a cozilor cu ajutorul listelor inlantuite

Sa se implementeze o stiva cu ajutorul unei liste simplu inlantuite.

import java.io.*;

class Legatura

//afisare informatii

public void afisareLegatura()

class CLista

//intoarce true daca lista este vida

public boolean esteVida()

//inserare la inceputul listei

public void insereazaPrimul(int i)

//sterge primul element

public int stergePrimul()

//parcurgere lista si afisare elemente

public void afisareLista()

System.out.println(' ');

}

class CStivaL

//insereaza elementul in varful stivei

public void insereazaVarf(int i)

//sterge element din varf si returneaza valoarea acestuia

public int stergeVarf()

//intoarce true daca stiva este vida

public boolean esteVida()

//afisare stiva

public void afisareStiva()

}

class StivaListaSimplaAplicatie

// introducere integer

public static int getInt() throws IOException

public static void main(String[] args) throws IOException


Sa se implementeze o coada cu ajutorul unei liste simplu inlantuite cu doua capete.

import java.io.*;

class Legatura

//afisare informatii

public void afisareLegatura()

class CLista2C

//intoarce true daca lista este vida

public boolean esteVida()

//inserare la sfarsitul listei

public void insereazaUltimul(int i)

//sterge primul element

public int stergePrimul()

//parcurgere lista si afisare elemente

public void afisareLista()

System.out.println(' ');

}

}

class CCoadaL

//insereaza elementul la sfarsitul cozii

public void insereazaUltimul(int i)

//sterge primul element din coada

public int stergePrimul()

//intoarce true daca nu exista elemente in coada

public boolean esteVida()

//afisare coada

public void afisareCoada()

}

class CoadaLista2CapeteAplicatie

// introducere integer

public static int getInt() throws IOException

public static void main(String[] args) throws IOException


C. Liste dublu inlantuite


Sa se creeze o lista dublu inlantuita care sa permita urmatoarele operatii:

- inserarea unui nou element la inceputul listei;

- inserarea unui nou element la sfarsitul listei;

- inserarea unui nou element dupa un element avand o valoare data;

- stergerea primului element din lista;

- stergerea ultimului element din lista;

- stergerea unui element cu o valoare data;

- parcurgerea listei de la primul la ultimul element;

- parcurgerea listei de la ultimul la primul element;

import java.io.*;

class Legatura

//afisare informatii

public void afisareLegatura()

class CListaDbl

//intoarce true daca lista este vida

public boolean esteVida()

//inserare la inceputul listei

public void insereazaPrimul(int i)

//inserare la sfarsitul listei

public void insereazaUltimul(int i)

ultimul=nou;

}

//sterge primul element

public Legatura stergePrimul()

//sterge ultimul element

public Legatura stergeUltimul()

//inserare element cu valoare k dupa un element cu o anumita valoare i

public boolean insereazaDupa(int i,int k)

Legatura nou=new Legatura(k); //se creaza noua legatura

if(curent==ultimul)

else

nou.anterior=curent;

curent.urmator=nou;

return true;

}

//sterge elementul cu o anumita cheie

public Legatura sterge(int i)

if(curent==primul)

primul=curent.urmator;

else

curent.anterior.urmator=curent.urmator;

return curent;

}

//afisare de la primul la utimul

public void afisarePrimUltim()

System.out.println(' ');

}

//afisare de la ultimul la primul

public void afisareUltimPrim()

System.out.println(' ');

}

}

class ListaDubluInlantuitaAplicatie

// introducere integer

public static int getInt() throws IOException

public static void main(String[] args) throws IOException


}





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate

Informatica


Access
Adobe photoshop
Autocad
Baze de date
C
Calculatoare
Corel draw
Excel
Foxpro
Html
Internet
Java
Linux
Mathcad
Matlab
Outlook
Pascal
Php
Powerpoint
Retele calculatoare
Sql
Windows
Word


GRAFICA 3D - Mel
Sisteme de Management al Informatiei
Maparea subtipurilor
MODELAREA UNUI SISTEM SOFTWARE
LUCRARE PENTRU ATESTAREA COMPETENTELOR PROFESIONALE INFORMATICA - White Dental
Operatori - Programare procedurala
PACHETUL DE PROGRAME Microsoft OFFICE
CONCEPTE DE BAZA ALE TEHNOLOGIEI INFORMATIEI
Globalizarea sistemelor informationale
PROGRAME UTILITARE




termeni
contact

adauga