[Pascal] Usuwanie duplikatów

Humanista123
Użytkownik
Użytkownik
Posty: 54
Rejestracja: 1 sty 2017, o 20:32
Płeć: Mężczyzna
Lokalizacja: Polska
Podziękował: 17 razy

[Pascal] Usuwanie duplikatów

Post autor: Humanista123 »

Witajcie Mam zadanie: Dana jest lista liczb całkowitych posortowana niemalejąco. Napisać procedurę, która usunie z tej listy elementy powtarzaj¡ce się i wstawi je na nową listę, też uporządkowaną niemalejąco.

Kod: Zaznacz cały

type lista   : ^element;
type element : record
                 pole : integer;
                 next : lista
               end;
Kod:

Kod: Zaznacz cały

procedure usun (h,v:lista);

var u:lista;

begin
while h<>nil do
begin
if h^.pole<>h^.next^.pole then
h:=h^.next
else
    begin
    if v=nil then
        begin
        u:=h^.next;
        h^.next:=u^.next;
        dispose(u);
        end
    else
        begin
        u:=h^next;
        h^.next:=u^.next;
        v^.next:=h;
        v:=v^.next;
        dispode(u);
        end;
    end;
end;
v^.next:=nil;
end.
Proszę o sprawdzenie, czy to jest dobrze
ODPOWIEDZ