Tablice
Przegląd zagadnień Definicja tablicy Tworzenie tablic w C# Tablice wielowymiarowe Inicjalizacja tablic Korzystanie z tablic Właściwości tablic Użycie tablicy z pętlą foreach
Definicja tablicy Rodzaj struktury danych o następujących właściwościach: jednorodność - jest złożona z elementów tego samego typu zwanego typem podstawowym tablicy swobodny dostęp - wszystkie elementy tablicy są jednakowo dostępne - w dowolnej kolejności i w jednakowym czasie stała (niezmienna) ilość elementów ciągłość - zajmuje ciągły obszar pamięci Pojedynczy element dostępny za pomocą indeksu
Tworzenie tablic w C# Deklaracji zmiennej tablicowej typ [] nazwa; Utworzenie tablicy - obiektu tablicowego typ [] nazwa = new typ[ilosc_Elementow]; lub nazwa = new typ[liczba_Elementow]; Obiekt tablicowy zmienna tablicowa . Stos Zarządzana sterta
Tablice wielowymiarowe Tablice regularne double [,] macierz = new double[4,5]; double [,,] szescian = new double[3,5,6]; Tablice nieregularne - tablice tablic double [][] macierz2 = new double[3][]; macierz2[0] = new double[3]; macierz2[1] = new double[2]; macierz2[2] = new double[4]; macierz macierz2
Inicjalizacja tablic Tablice jednowymiarowe: int [] tab1 = new int[3]{2, 3, 4}; int [] tab2 = new int[]{2, 3, 4}; int [] tab3 = {2, 3, 4}; int [] tab4 ; tab4 = new int[]{2, 3, 4}; Tablice wielowymiarowe regularne int[,] tab1 ={ { 3, 4, 5 }, { 6, 7, 8 } }; Tablice nieregularne int [][] tab1 = { new int[] { 3, 4, 5 }, new int[] { 6, 7, 8, 9 } };
Korzystanie z tablic Operator indeksowania [] elementy tablicy w każdym wymiarze indeksujemy od zera do n-1, gdzie n -ilość elementów w danym wymiarze podanie nieprawidłowego indeksu powoduje zgłoszenie wyjątku IndexOutOfRangeException int [] tab = new int[3]{1,2,3}; int x = tab[1]; //x=2 tab[2] = 5; int [,] tab2 = new int[2,3]{{1,2,3}, {4,5,6}}; int y = tab2[1,2]; //y=6 tab[1,1] = 2; int [][] tab3 = new int[2][]; ... tab[1][0] = 5; 1 2 3 tab[0] tab[1] tab[2] tab2[0,1] tab2[0,0] 1 2 3 4 5 6 tab2[0,2] tab2[1,0] tab2[1,2] tab2[1,1]
Właściwości tablic int [] tab1 = new int[3]{1, 2, 3}; Liczba elementów tablicy: Console.WriteLine(tab1.Lenght); //3 Console.WriteLine(tab2.Lenght); //6 Wymiar tablicy: Console.WriteLine(tab1.Rank); //1 Console.WriteLine(tab2.Rank); //2
Użycie tablicy z pętlą foreach foreach(typ nazwa in kolekcja) { ... } int [] tab = {1,2,3,4,5,6} foreach(int i in tab) { ConsoleWrite("{0}, ",i); } 1, 2, 3, 4, 5, 6
Podsumowanie Definicja tablicy Tworzenie tablic w C# Tablice wielowymiarowe Inicjalizacja tablic Właściwości tablic Korzystanie z tablic Użycie tablicy z pętlą foreach
Operacje na tablicach
Przegląd zagadnień Ustawianie elementów na daną wartość Kopiowanie tablic Odwracanie tablicy Sortowanie tablicy Wyszukiwanie elementu w tablicy Podsumowanie Pytania sprawdzające Laboratorium
Ustawianie elementów na daną wartość for(int i = index; i < index + iloscElementow; i++) { tab[i] = wartosc; } Metoda Clear klasy Array int[] tab = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; Array.Clear(tab,2,4); foreach (int i in tab) { Console.Write("{0}, ",i); } 1, 2, 0, 0, 0, 0, 7, 8, 9,
Kopiowanie tablic Metoda Copy klasy Array Program Kopiowanie tab2 . Metoda Copy klasy Array typ [] tab1; typ [] tab2; ... tab1 = tab2; tab2 tab1 Zarządzana sterta Stos int[] tab1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int[] tab2 = {11,12,13,14,15,16,17,18,19 }; Array.Copy(tab1,2,tab2,4,4); foreach (int i in tab2) { Console.Write("{0}, ",i); } 11, 12, 13, 14, 3, 4, 5, 6, 19, Program Kopiowanie
Odwracanie tablicy Metoda Reverse klasy Array Program Odwracanie 1 2 3 4 5 6 7 7 6 5 4 3 2 1 Program Odwracanie int[] tab1 = { 1, 2, 3, 4, 5, 6, 7, 8, 9}; Array.Reverse(tab1, 2, 5); foreach (int i in tab1) { Console.Write("{0}, ", i); } 1, 2, 7, 6, 5, 4, 3, 8, 9,
Sortowanie tablicy Metoda Sort klasy Array Program Babelki 4 7 1 3 2 5 6 1 2 3 4 5 6 7 Program Babelki int[] tab1 = { 4, 1, 83, 41, 53, 36, 47, 18, 29}; Array.Sort(tab1); foreach (int i in tab1) { Console.Write("{0}, ", i); } 1, 4, 18, 29, 36, 41, 47, 53, 83,
Wyszukiwanie elementu w tablicy Wyszukiwanie połówkowe - tylko tablice posortowane Metoda BinarySearch klasy Array Wyszukiwanie liniowe program Liniowe Metoda LastIndexOf lub IndexOf klasy Array int[] tab1 = { 2, 5, 7, 5, 12, 6, 5}; int i = Array.IndexOf(tab1, 5); while(i != -1) { Console.Write("{0}, ", i); i = Array.IndexOf(tab1, 5 , i+1); } 1, 3, 6,
Podsumowanie Ustawianie elementów na daną wartość Kopiowanie tablic Odwracanie tablicy Sortowanie tablicy Wyszukiwanie elementu w tablicy