Adăugarea unui element la sfârșitul listei

6. Eliminarea unui element din listă. Există patru cazuri posibile:

a) Eliminarea unui singur element După îndepărtarea elementului listei se golește, prin urmare, este necesară nu numai pentru a elibera memoria alocată pentru elementul de cazare, dar în prima listă indicatorul intră Nill: a) dispune (în primul rând); b) mai întâi: = nill;

d) îndepărtarea ultimului element a) x: = pred ^ .adr; b) pred ^ .adr: = zero; c) dispune (x);

Problema 1. Crearea unui program pentru crearea unei liste legate de timpul de introducere a datelor.

Stiva se numește o structură de date dinamice, adăugând o componentă în care componentele și eliminarea care se face de la un capăt, numit vârful stivei. Teancul funcționează pe principiul: LIFO (Last-In, First-Out) - cele mai recente de intrare, primul servit.

De obicei, peste stive vor efectua trei acțiuni:

  1. formarea inițială a stivei (scrie primul component);
  2. adăugarea de componente ale stivei;
  3. selectarea componentelor (indepartarea).

Pentru formarea stivei și lucrul cu este necesar să existe două variabile de tip pointer, dintre care prima definește vârful stivei, iar al doilea - auxiliar. Să o descriere a acestor variabile are forma:

var pTop, PAUX: pointer;

unde pTop - stack pointer;

PAUX - pointer auxiliar.

Exemplul 2. Crearea unui program care formează stiva, adaugă un număr aleatoriu de componente, și apoi citește toate componentele și le afișează pe ecran ca date șir de caractere pentru a lua. Introducerea de date - tastatura cu display, un semn al sfârșitului de intrare - șirul de caractere END.


Programul STACK; foloseste Crt; tip Alfa = String [10]; PComp = ^ Comp; Comp = record SD: Alfa; pNext: end PComp; var pTop: PComp; sC: Alfa; Procedura CreateStack (var pTop: PComp; var sC: Alfa); începe noi (pTop); pTop ^ .pNext: = NIL; pTop ^ .sD: = sC final; Procedură AddComp (var pTop: PComp; var sC: Alfa); var PAUX: PComp; începe NOUĂ (PAUX); PAUX ^ .pNext: = pTop; pTop: = PAUX; end = sC;: pTop ^ .sD Procedura DelComp (var pTop: PComp; var sC: ALFA); începe sC: = pTop ^ .sD; pTop: = pTop ^ end .pNext; începe Clrscr; writeln ( 'introduceți șirul'); readln (sC); CreateStack (pTop, sC); repeta writeln ( „Introduceți șirul“); readln (sC); AddComp (pTop, sC) = 'până la subcutan o END'; writeln ( 'RAPORTARE REZULTATELOR'); repeta DelComp (pTop, sC); writeln (sC); până la pTop = NIL; readkey; end.

Sarcini pentru a efectua:

1. Descrierile programului

Var P, Q: ^ întreg; R: ^ char;

Care dintre următoarea declarație greșită și de ce?