? En abstrakt datatyp eller ADT , är en modell som används av programmerare för att definiera de egenskaper och beteenden hos en data container . Det finns fyra mycket vanliga abstrakta datatyper som finns i nästan alla programmeringsspråk : bunten kön , den länkade listan och kartan . Du kan flytta data från en datatyp till en annan genom att använda specialiserad verksamhet inbyggda i ADT . Kö
kö ADT simulerar en rad människor som väntar på en enda tjänsteleverantör , som en bank teller . En kö är utformad kring regeln " först in , först ut . " Den första posten läggs till i listan är den första punkten bort. Processen att lägga till ett objekt i en kö är formellt känd som " enqueue , " och processen att ta bort ett objekt kallas " dequeue . " Varje individuell programmering genomförandet av kön har en annan uppsättning av funktioner som utför dessa operationer . Till exempel i C + + "den enqueue " drift åstadkommes med användning av "push "-funktion, och den " dequeue " drift åstadkommes med användning av "pop "-funktion.
Stack
stack ADT kan jämföras med kön eftersom det lyder reglerna "först in , sist ut . " Tänk på det som att stapla en hög med tidningar på golvet . Om du tar bort varje tidning från toppen av stacken , kommer den sista kvarvarande tidningen vara den första som du placerat på golvet . Funktionen för att lägga till ett objekt i stapeln är känd som " driver " ett objekt på stacken , och att ta bort ett objekt kallas " poppar " objektet från toppen av bunten . Till skillnad från kön , använder C + + språket samma villkor som den verkliga funktionen namn för att flytta data från en ADT till en annan . Dessa funktioner kallas "push " och " pop ".
Länkad lista
länkad lista är en samling av enskilda noder som innehåller en pekare till en annan nod. Tillsammans bildar de en kedja av länkade noder . Det finns två speciella noder : huvudet och noder svans . Huvudnoden är den första noden i sekvensen , och svansen noden är den sista noden i sekvensen. Att hitta en specifik nod kräver ofta början vid huvudnoden och flytta från en nod till nästa, tills en matchning för noden hittas eller svansen nod nås. Data kan flyttas in i en länkad lista genom " insert " operation , som kan ta sig många former . Till exempel i C + + kan du sätta på framsidan av listan med " push_front " -funktion , sätt på baksidan av listan med " push_back " -funktionen , och du kan infoga i en godtycklig plats med hjälp av " insert " -funktion . Objekt kan tas bort från en lista med " remove " operation . I C + + , ett objekt kan tas bort med hjälp av " ta bort " funktionen och " remove_if " -funktion , som bara tar bort en post om ett angivet villkor är uppfyllt . Addera Map
kartan ADT heter så eftersom den visar en nyckel till ett värde . Nyckeln är något som definierar bit data , som en unik kund -ID , och värdet kan vara någon form av data, som ett kundkonto fil . I C + + -området kan objekt flyttas till en karta med hjälp av " insert " -funktion , och de kan tas bort med hjälp av funktionen "Radera" .