Podstawy programowania- wykład

Nasza ocena:

3
Pobrań: 7
Wyświetleń: 819
Komentarze: 0
Notatek.pl

Pobierz ten dokument za darmo

Podgląd dokumentu
Podstawy programowania- wykład - strona 1

Fragment notatki:

Podstawy Programowania   semestr drugiWyk ał d trzeci1. Jednokierunkowa lista liniowa
Jednokierunkowa lista liniowa jest abstrakcyjną strukturą danych przechowującą elementy w okre l
ś onym liniowym porządku. Elementy można
dodawać i usuwać z listy  w dowolnym  jej  miejscu. Czas wykonania tych  operacji  jest  stały  i  niezależny  od  ilo c
ś i  elementów  w li c
ś ie1,
natomiast czas wyszukania elementu jest proporcjonalny do ilo c
ś i elementów umieszczonych na li c
ś ie. 
2. Implementacja listy jednokierunkowej jako dynamicznej struktury danych 
Lista jednokierunkowa zostanie opisana na przykładzie programu, który wstawia do listy kolejne elementy, tak aby znajdowały się w porządku
niemalejącym. Można również użyć listy w inny sposób. Definicja typu pojedynczego elementu listy jest taka sama jak w przypadku stosu i
kolejki   (nazwy   pól   nie   mają   większego   znaczenia).   W   przypadku   list   stosuje   się   zazwyczaj   jeden   wskaźnik,   wskazujący   na   element
początkowy listy. Podstawowymi operacjami dotyczącymi listy są operacje wstawiania i usuwania elementu, i usuwanie listy. Można również
zdefiniować operację wyszukiwania elementu na li c
ś ie spełniającego ustalone kryterium. Oto kod wspomnianego wyżej programu:   
 
Operacja wstawiania elementu na listę została „rozbita” na
      1 program single_linked_list;
dwie procedury: zadaniem procedury „crate” sprawdza, czy
      2 uses crt;
istnieje pierwszy element na tej li c
ś ie. Je l
ś i nie to tworzy go
(wiersze   69     74)  i   ko c
ń zy   swoje   działanie.   Je l
ś i   takowy
      3 type
element  istnieje wywoływana jest procedura „insert_node”.
Zadaniem   tej   procedury   jest   utworzenie   nowego   elementu
      4   wskaznik=^element;
listy i umieszczenie go w odpowiednim miejscu na tej li c
ś ie.
Procedura   ta   pobiera   dwa   parametry.   Pierwszym   jest
      5   element=record
wska n
ź ik   na   pierwszy   element   listy,   a   poprzez   drugi
      6            dana:integer;
przekazywana   jest   wartoś ,
ć   która   zostanie   umieszczona   w
elemencie.   Posiada   ona   również   trzy   lokalne   zmienne
      7            next:wskaznik;
wska n
ź ikowe. Zmienna „p” b d
ę zie służyła do poruszania się
po   li c
ś ie.   Zmienna   „prev”   będzie   wskazywała   na   element
      8           end;
poprzedzający   ten,   który   wskazuje   „p”.   Zmienna   „nowy”

(…)

…(first);
116 writeln('Dostępna pamięć: ',MemAvail);
117 readln;
118 end.
3.
Uwagi końcowe
Listy jednokierunkowe można również implementować jako listy z wartownikami. W takim wypadku tworzy się na początku działania
programu jeden lub dwa elementy, które tworzą atrapy. Dzięki nim nie trzeba w procedurach usuwania i wstawiania elementów sprawdzać
dodatkowych warunków. Możliwa jest również implementacja…
... zobacz całą notatkę



Komentarze użytkowników (0)

Zaloguj się, aby dodać komentarz