? En abstrakt datatype , eller ADT , er en modell som brukes av programmerere til å definere egenskaper og oppførsel en data container . Det er fire svært vanlige abstrakte datatyper som finnes i nesten alle programmeringsspråk : stabelen, køen , det koblede listen og kartet. Du kan skifte data fra en datatype til en annen ved hjelp av spesialiserte operasjoner innebygd i ADT . Kø
Køen ADT simulerer en linje av folk som venter på en enkelt tjenesteleverandør, som en bank teller . En kø er designet rundt regelen " først inn, først ut ". Det første elementet lagt til listen er det første elementet fjernes . Prosessen med å legge til et element i en kø er formelt kjent som " enqueue ", og prosessen med å fjerne et element er kjent som " dequeue . " Hver enkelt programmering implementering av køen har et annet sett med funksjoner som utfører disse operasjonene . For eksempel , i C + + på " enqueue " operasjon gjøres ved hjelp av "push "-funksjonen , og " dequeue " operasjon gjøres ved hjelp av "pop "-funksjonen .
Stack
stabelen ADT kan stå i motsetning til køen fordi den adlyder reglene " først inn, siste ut . " Tenk på det som å stable en haug med blader på gulvet . Hvis du fjerner hvert magasin fra toppen av bunken , vil den siste gjenværende magasin være det første du plassert på gulvet . Operasjonen for å legge til et element i bunken er kjent som " presser " et element på stakken , og fjerne et element er kjent som " dukker " elementet på toppen av bunken. I motsetning til køen , bruker C + + språk de samme vilkår som den faktiske funksjon navn for skiftende data fra en ADT til en annen. Disse funksjonene kalles "push" og " pop".
Linked List
lenket liste er en samling av individuelle noder som inneholder en peker til en annen node. Sammen danner de en kjede med koblede noder. Det er to spesielle noder : hodet og halen noder. Hodet node er den første noden i sekvensen , og halen node er den siste node i sekvensen. Å finne en bestemt node krever ofte begynner ved hodet node og beveger seg fra en node til en annen, inntil en match for noden blir funnet eller halen noden er nådd. Data kan bli flyttet inn i en lenket liste gjennom " sett inn" operasjon, som kan ta mange former. For eksempel, i C + + du kan sette på forsiden av listen ved hjelp av " push_front "-funksjonen , setter du på baksiden av listen ved hjelp av " push_back "-funksjonen , og du kan sette inn i et vilkårlig sted ved hjelp av " insert "-funksjonen . Elementer kan fjernes fra en liste med " remove "-operasjon. I C + + , et element kan fjernes ved hjelp av " remove "-funksjonen og " remove_if "-funksjonen , som bare fjerner et element hvis en bestemt betingelse er oppfylt .
Kart
< p> kartet ADT heter så fordi det kartlegger en nøkkel til en verdi. Nøkkelen er noen definere stykke data , som en unik kunde-ID , og verdien kan være noen form for data , som en kundekonto fil . I C + + kart, kan elementer flyttet inn i et kart ved hjelp av "Sett inn" -funksjonen , og de kan fjernes ved å bruke " slett "-funksjonen .