Kiedy potrzebne. Struktura (rekord) Struktura w języku C# Tablice struktur. struktura, kolekcja

Podobne dokumenty
Wykład 4. Klasa List Kolejki Stosy Słowniki

Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki

Programowanie w języku Java. Kolekcje

Lista, Stos, Kolejka, Tablica Asocjacyjna

Kurs programowania. Wykład 9. Wojciech Macyna

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

Kurs programowania. Wykład 9. Wojciech Macyna. 28 kwiecień 2016


Podstawy programowania obiektowego

Algorytmy i. Wykład 3: Stosy, kolejki i listy. Dr inż. Paweł Kasprowski. FIFO First In First Out (kolejka) LIFO Last In First Out (stos)

Dynamiczne struktury danych

Programowanie obiektowe

Wykład 4: Klasy i Metody

Dawid Gierszewski Adam Hanasko

Microsoft IT Academy kurs programowania

Metody Metody, parametry, zwracanie wartości

INFORMATYKA W SZKOLE. Podyplomowe Studia Pedagogiczne. Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227

Realizacja ekstensji klasy. Paulina Strzelecka, Tomasz Roszkowski

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Java: kilka brakujących szczegółów i uniwersalna nadklasa Object

Struktury. Przykład W8_1

KOLEJKA (QUEUE) (lista fifo first in, first out)

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Kolekcje w Javie cz. 1

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Stos LIFO Last In First Out

Szablony funkcji i szablony klas

Programowanie w środowiskach graficznych. Wykład 3 Język C#

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 7

1 Stos: Stack i Stack<T>

Laboratorium z przedmiotu Programowanie obiektowe - zestaw 04

Programowanie obiektowe i zdarzeniowe

Definiowanie własnych klas

Java Collections Framework

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Język ludzki kod maszynowy

Klasy i obiekty cz II

DYNAMICZNE PRZYDZIELANIE PAMIECI

Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java

E S - uniwersum struktury stosu

Wykład 3 Składnia języka C# (cz. 2)

Podstawy obiektowości

Kurs programowania - kolekcje

Java: interfejsy i klasy wewnętrzne

Wstęp do wiadomości teoretycznych (nie, nie jest to masło maślane ani wstęp, wstępów proszę cierpliwie czytać)

Wykład 2: Podstawy Języka

import java.util.*; public class ListExample { public static void main(string args[]) { List<String> lista1= new ArrayList<String> ();

Programowanie obiektowe

Struktury danych: stos, kolejka, lista, drzewo

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Podstawy algorytmiki i programowania - wykład 4 C-struktury

Platformy Programistyczne Podstawy języka Java

Kolekcje - pakiet Java Collections Framework

Programowanie i struktury danych 1 / 44

Obiekt klasy jest definiowany poprzez jej składniki. Składnikami są różne zmienne oraz funkcje. Składniki opisują rzeczywisty stan obiektu.

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne

C-struktury wykład. Dorota Pylak

Java Programowanie Obiektowe Ćwiczenie 1- wprowadzenie

Narzędzia 2. dr inż. Tadeusz Jeleniewski

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Klasy generyczne. ZbiórLiczb. ZbiórCzegokolwiek. Zbiór

Tablice Napisy Kolekcje

Podstawy programowania obiektowego

Programowanie obiektowe

Biuro Podróży 0. Stwórz projekt aplikacja konsolowa lub WPF (przemyśl wybór, bo zmiana może być czasochłonna). 1. Stwórz abstrakcyjną klasę

Wykład 5 Wybrane zagadnienia programowania w C++ (c.d.)

Programowanie Obiektowe (Java)

Programowanie obiektowe

Instrukcja 2 Laboratorium z Podstaw Inżynierii Oprogramowania

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Kolekcje. Na podstawie:

Polimorfizm, metody wirtualne i klasy abstrakcyjne

Java niezbędnik programisty spotkanie nr 8. Kolekcje c.d.

GUI - projektowanie interfejsów cz. II

Laboratorium z przedmiotu: Inżynieria Oprogramowania INEK Instrukcja 6

Kolekcje - pakiet Java Collections Framework

Dokumentacja do API Javy.

Wstęp do ruby dla programistów javy

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

Algorytmy i Struktury Danych. Anna Paszyńska

Wykład 5: Więcej o Klasach i Metodach

Enkapsulacja, dziedziczenie, polimorfizm

Egzamin z Podstaw informatyki i programowania 2007/2008

Java - tablice, konstruktory, dziedziczenie i hermetyzacja

java.util.* :Kolekcje Tomasz Borzyszkowski

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Języki i techniki programowania Ćwiczenia 4 Wzorce

Wstęp do programowania

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

Imi i nazwisko... Egzamin - Programowanie Obiektowe II rok informatyki, studia pierwszego stopnia, niestacjonarne Termin zerowy

void Pobierz(Student &a); void Wypisz(Student a); void Ustaw_zaliczenia(Student t[],int r); void Wypisz_najlepszych(Student t[],int r, float prog);

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

Platforma.NET. Laboratorium nr 1 Podstawy języka C#

Konwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki

Projektowanie klas c.d. Projektowanie klas przykład

Języki i metody programowania Java INF302W Wykład 2 (część 1)

Wykład 6: Dziedziczenie

Transkrypt:

1 struktura, kolekcja Kiedy potrzebne Duża liczba danych takiego samego typu tablice a jak nieznana liczba elementów? dane zawierające wartości różnego typu (osoba: pesel, nazwisko, rok urodzenia, pracuje/niepracuje, ) Typ złożony struktura tablica struktur 3 4 Struktura (rekord) Kolekcja elementów różnych typów. Poszczególne elementy struktury pola. Deklaracja struktury w bloku innej struktury, w bloku klasy, wewnątrz przestrzeni nazw poza jakimkolwiek blokiem. Struktury nie wolno definiować wewnątrz metody! Struktura w języku C# Definicja typu strukturalnego 5 Użycie typu strukturalnego Tablice struktur Struktura jako element tablicy struct Osoba public string Imie, Nazwisko; public int RokUrodzenia; 1

6 1 static void Main(string[] args) Osoba[] lstaosob = new Osoba[15]; lstaosob[0].imie = "Jan"; lstaosob[0].nazwisko = "Kowal"; lstaosob[0].rokurodzenia = 1980; Typ złożony jako pole struktury Pole struktury: może być typem złożonym tablicą lub strukturą 7 struct Uczen public string Imie; public string Nazwisko; public byte [] Oceny; struct Dziennik public Uczen [] Uczniowie; Metody funkcje struktury Służą do definiowania operacji specyficznych dla przechowywanych danych struct Koło public string nazwa; public double promień; public double Pole() return Math.PI * promień * promień; public double Obwód() return * Math.PI * promień; 8 Metody struktury static void Main(string[] args)

Koło małekoło; małekoło.promień = 0.5; małekoło.nazwa = "tylko pół centymetra"; Console.WriteLine("koło: 0: pole= 1:F a obwód wynosi: :F", małekoło.nazwa, małekoło.pole(), małekoło.obwód()); 9 10 11 Kolekcje Kolekcje spełniają podobne zadanie do tablic tzn. przechowują zbiór elementów Różnice: dają większą swobodę kosztem wydajności; operacje na tablicach są szybsze, ale kodowanie operacji moje być łatwiejsza za pomocą kolekcji nie trzeba ustalać rozmiaru listy (tablica -tak) ArrayList Podstawowym rodzajem kolekcji jest ArrayList. można dodawać elementy różnego typu!! Element dodawany jest za pomocą metody Add(element). Dostępne wbudowane metody, np.: Sort() dokonuje sortowania zawartości listy, Clear() usuwa wszystkie elementy, Clone, Contains, Insert, Remove, Użycie wymaga System.Collections. Operacje //deklaracja kolekcji typu ArrayList ArrayList lista = new ArrayList(); //dodanie elementów do listy lista.add(); lista.add(.5); lista.add("tekst"); lista.add('a'); //wyświetlenie elementów listy; Count określa liczbę elementów listy for (int i = 0; i < lista.count; i++) 3

1 for (int i = 0; i < lista.count; i++) Console.WriteLine(lista[i]); Operacje na elementach listy Lista może zawierać elementy różnego typu Każdy element listy jest typu object Przykład: lista.add(); lista.add(.5); lista.add("tekst"); lista.add('a'); Console.WriteLine((int)lista[0] + (double)lista[1]); Programista odpowiada za operację rzutowania! 13 14 15 Pętla foreach foreach(typ element in kolekcja) //ciało pętli Przykładowo przeglądanie listy z ostatniego programu za pomocą pętli foreach: foreach (var element in lista) Console.WriteLine(element); var typ określony na podstawie typu bazowego lista Queue - kolejka FIFO Pierwszy przychodzi - pierwszy wychodzi (first in - first out) Metody Enqueue - dodanie elementu na koniec Dequeue - pobranie elementu początkowego inne - Clear, Peek, Count, Clear, Contains Implementacja w.net Framework System.Collections.Queue Implementacja Queue - przykład string[] lines = "First", "Second", "Third" ; System.Collections.Queue kolejkafifo = new System.Collections.Queue(); 4

//dodanie elementu kolejkafifo.enqueue(lines[]); //Third kolejkafifo.enqueue(lines[1]); //Second... kolejkafifo.enqueue(lines[0]); //First //pobranie elementu, odczyt elementu Console.Write("0, ",kolejkafifo.dequeue()); //Third.. Console.Write("0, ", kolejkafifo.peek()); //Second... Console.Write("0, ", kolejkafifo.peek()); //Second... bool jest = kolejkafifo.contains("first"); //true kolejkafifo.clear(); 16 17 Stack stos, kolejka LIFO Ostatni przychodzi - pierwszy wychodzi (last in - first out) Metody Push - umieszcza element na stosie Pop - zdejmuje element ze stosu inne - Clear, Peek, Count, Clear, Contains Implementacja w.net Framework System.Collections.Stack Implementacja: Stack - przykład string[] lines = "First", "Second", "Third" ; System.Collections.Stack stoslifo = new System.Collections.Stack(); //na stos stoslifo.push(lines[]); //Third stoslifo.push(lines[1]); //Second stoslifo.push(lines[0]); //First wierzchołek! //ze stosu od wierzchołka: pobranie, odczyt Console.Write("0, ",stoslifo.pop()); //First Console.Write("0, ", stoslifo.peek()); //Second Console.Write("0, ", stoslifo.peek()); //Second bool jest = stoslifo.contains("first"); //false!! stoslifo.clear(); 5