ALG3

ALG3



5.2. Tablicowa implementacja list 123

tego konieczne będzie wybranie jakiejś zmiennej do zapamiętywania aktualnej ilości elementów wstawionych wcześniej do listy.

Ideę ilustruje rysunek 5-10, gdzie możemy zobaczyć tablicową implementację listy J-cIcmcntowcj złożonej z elementów: •/, 6, I, -5 i 12\

Rys. 5 - 10.

dane

5

4

(i

1

-.5

12

miejsca wolne


Tablicowa

implementacja

listy.

Programowa realizacja jest bardzo prosta - deklaracja klasy nie zawiera żadnych niespodzianek:

listaJab.cpp

const int KaxTab=20l;    // 200 możliwych elementów

class ListaTab

// konstrnktor klasy // usuń element z pozycji k II wstaw element x na koniec listy II wstaw element x na pozycję k: int k) ;


ł

int tab ;ikaxTab];

public:

ListaTab!)

i tab[0]=0;)

void UsunElement(int k); void WstawEleir.ent (int x)

void WstawEleir.ent (int x, void WypiszListe()r

};


// tab(0] zarezerwowane!


Omówmy błyskawicznie wszystkie funkcje usługowe klasy. Przypuśćmy, że chcemy dysponować możliwością usunięcia £-tego elementu naszej „listy". Po zbadaniu sensu takiej operacji (element musi istnieć!) wystarczy przesunąć zawartość tablicy o jeden w lewo od Ar-tej pozycji. Podczas przesuwania element nr jest bezpowrotnie „zamazywany” przez swojego sąsiada:

void Li3taTab::UsunElement(int k)

I

II    usuwamy k-ty element listy, k>=l if((k>=l) && (k<=tab[0]))

(

for(int i=k;ictab|0];i++) tab[i]=tab[i+1 ] ; tab[0]—;

)

>

Wariantów przedstawionej wyżej funkcji może być dość sporo. Mam nadzieję, że Czytelnik w miarę swoich specyficznych potrzeb będzie mógł je sobie stworzyć.


Wyszukiwarka

Podobne podstrony:
ALG7 5.2. Tablicowa implementacja list 1275.2.3.Listy innych typów Listy jednokierunkowe są bardzo
ALG5 5.2. Tablicowa implementacja lisi 125 5-11, gdzie można zobaczyć przykładową implementację lis
ALG1 Rozdział 4Algorytmy sortowania Tematem tego rozdziału będzie opis kilku bardziej znanych metod
przypadku jednak konieczne będzie przygotowanie aplikacji służącej do eksportowania danych do minimu
ALG3 1.3. Proces koncepcji programów 23 pisania jednej linii kodu. Pomijając już jednak tego typu s
ALG3 4.1. Sortowanie przez wstawianie, algorytm klasy 0(N2) 83 Idea tego algorytmu opiera się na na
ALG3 5.5. Sterty i kolejki priorytetowe 143 Wystarczy bowiem dowolną tablicę do posortowania wpierw
Image311 8 8 A-8 Dodawanie w kodzie „4-3”    Tablica 4.21 Suma A+B Suma nie skorygo
page0060 50 niekiedy bez żadnych do tego koniecznych mani-pulacyi, jedynie za rozkazem magnetyzera.
page0842 634Saletra — Saletra chilijska znaczne ilości chlorków metalicznych i soli ziemnych, i dla
12738 str3 Tablica 1 Klotoida jednostkowa 1 l-± r i T° • " h r X y 1 >77c 3,132
13 Tablica 3 Wyznaczone doświadczalnie zależności umożliwiające określanie wytrzymałości
13 Tablica 27 O zn a czenia ch ropo w af o ści po w i e rzc li n i Wyjątek z PN-73/M-04251 ■Śr
13 Tablica 4<i Dobieranie sumy zębów w przeMadniudi wielo:dopnjowydio normalnych przełożeni
Programowanie równoległeMinimalny element tablicy // Plik: elminimalny.alg // Dane: Tablica n elemen
Programowanie równoległeSuma elementów tablicy; n procesorów // Plik: suma.alg // Dane: Tablica licz

więcej podobnych podstron