• Nie Znaleziono Wyników

Algorytmy i struktury danych, USM, zaoczne. Ćwiczenie 3.

N/A
N/A
Protected

Academic year: 2021

Share "Algorytmy i struktury danych, USM, zaoczne. Ćwiczenie 3."

Copied!
1
0
0

Pełen tekst

(1)

Algorytmy i struktury danych, USM, zaoczne. Ćwiczenie 3.

Sortowanie tablic struktur

Cel ćwiczenia: Implementacja algorytmów sortowania tablic o czasie liniowym: sortowanie przez zliczanie, sortowanie pozycyjne. Porównanie efektywności czasowej algorytmów.

Sortowanie tablicy struktur według ustalonych pól struktury.

1. Przedstawić funkcję, która realizuje algorytm sortowania przez zliczanie dla tablicy liczb całkowitych.

2. Przedstawić funkcję, która realizuje algorytm sortowania pozycyjnego dla tablicy liczb całkowitych.

3. Zdefiniować typ struct tosoba { char nazwisko[20]; unsigned r, m, d; long id; } oraz typ ttab, określający tablicę struktur typu tosoba o rozmiarze N, gdzie N – stała. W programie głównym zdefiniować tablicę tab typu ttab oraz zmienną ile typu unsigned, w której pamiętana jest liczba struktur wprowadzonych do tablicy (wartość początkowa zmiennej ile równa się 0). Opracować następujące funkcje.

a) Inicjującą pola struktury typu tosoba danymi wprowadzanymi z klawiatury (parametrem funkcji jest zmienna typu tosoba).

b) Inicjującą pola struktury typu tosoba losowymi danymi. Do pola nazwisko wpisać łańcuch ”naz” zakończony losową liczbą należącą do przedziału [0,100). Przykładowe postaci nazwisk: ”naz10”, ”naz75”, itd. Do pól r, m, d wpisać losową datę. Do pola id wpisać losową liczbę całkowitą należącą do przedziału [1,1000) (parametrem funkcji jest zmienna typu tosoba).

c) Wyprowadzającą zawartość struktury typu tosoba na ekran (parametrem funkcji jest zmienna typu tosoba).

d) Wpisującą do tablicy strukturę o losowych polach (wykorzystać funkcję z punktu b)).

Parametrami funkcji powinny być tablica i jej rozmiar oraz zmienna ile (aktualna liczba danych w tablicy). Prototyp: void Wpisz(ttab tab, unsigned N, unsigned& ile).

e) Wyprowadzającą elementy tablicy na ekran (wykorzystać funkcję z punktu c)).

f) Wyprowadzającą na ekran wszystkie elementy tablicy o ustalonej wartości pola nazwisko.

g) Usuwającą pierwszą znalezioną strukturę o podanym nazwisku i dokonującą kompresji elementów tablicy (przesunięcia elementów w tablicy).

4. Wykorzystać wybrane algorytmy do posortowania tablicy struktur typu struct tosoba { char nazwisko[20]; unsigned r, m, d; long id; } według:

a) nazwisk,

b) dat (uwzględnić równocześnie pola r, m, d),

c) nazwisk oraz identyfikatorów (w przypadku elementów z jednakowymi nazwiskami uwzględnić podczas sortowania ich identyfikatory).

Cytaty

Powiązane dokumenty

takie drzewo <V, T> rozpinające grafu G, że suma kosztów jego krawędzi  eT c (e) jest najmniejsza.. Mirkowska, ASD_12 Algorytmy na

Powiemy, że problem jest rozstrzygalny, jeśli istnieje algorytm, który dla dowolnych danych x po skończonej liczbie kroków daje rozwiązanie problemu. W przeciwnym

Każde drzewo decyzyjne dla algorytmu sortującego ciąg n- elementowy przez porównywanie elementów, ma co najmniej wysokość log

Obliczanie wartości wyrażeń.. Czytamy kolejno znaki wyrażenia i kolejne argumenty operacji wpisujemy na stos argumentów, a kolejno spotkane operacje wpisujemy na stos

Zadanie Do zbioru reprezentowanego przez drzewo D dołączyć element e, o ile nie należy on jeszcze do etykiet drzewa D.... Zastosowanie: wyszukiwanie

Powiemy, że problem jest rozstrzygalny, jeśli istnieje algorytm, który dla dowolnych danych x po skończonej liczbie kroków daje rozwiązanie problemu. W przeciwnym

b) Opracować funkcję wyprowadzającą zawartość struktury typu tosoba na ekran (parametrem funkcji jest zmienna typu tosoba). Zainicjować zmienną stud wartościami

Wyznaczyć czasy działania algorytmów w przypadku sortowania tablicy liczb całkowitych (wykorzystać funkcję pomiaru czasu). Wyprowadzić na ekran czasy