zmeny, ktere uprimne ani nevim jake jsem udelal

This commit is contained in:
2026-04-05 23:39:57 +02:00
parent 2f9701bc43
commit f5951a9159
3 changed files with 59 additions and 3 deletions

View File

@@ -155,6 +155,61 @@ int main() {
} }
``` ```
# List # List
V podstatě se ovládá jako vektor, akorát má odlišné vlastnosti rychlosti přístupu k prvkům. V listu je pomalejší vyhledávat prvek (najít prvek na n-té pozici -> O(n)). Mazání a přidávání prvku bývá ale jednodušší (pokud nejprve nehledáme pozici -> O(1)).
List jako knihovnu přidáme pomocí `#include <list>`
## Inicializace
```cpp
#include <list>
int main(void)
{
list<string> cars; //prazdný list stringů
list<int> numbers; //prázdný list integerů
list<string> names = {"Perec","Maxim","Sasha"}; //list se jmény
}
```
## Přístup
Pro **přístup** můžu využít funkce jako `l.front()` nebo `l.back()`. Popřípadě `list[]`
```cpp
#include <iostream>
#include <list>
int main(void)
{
list<string> matematika = {"Matalyza1", "Lingebra", "Matalyza2", "Komplexni analyza"};
std::cout << cvut.front() << std::endl;
std::cout << cvut.back() << std::endl;
std::cout << cvut[3] << std::endl;
//vypise
//FEL
//FBmi
//FA
cvut.front() = "Lingebra";
cvut.back() = "Lingebra";
cvut[2] = "Lingebra";
}
```
![memisek](https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fi.imgflip.com%2F6u2ya3.jpg&f=1&nofb=1&ipt=8b0e934fe6180c291970bec0d68bc984f2943e6dfc4c54b509e8bc5a6e1ef991)
**DOPLN CO SE STANE KDYZ ACCESS MIMO INDEX!**
## Pomocné funkce
Krom funkcí
Projetí listu pomocí for loop:
```cpp
list<string> veta = {"Co", "je", "moje", "to", "je", "tvoje"};
for (int i = 0; i < cars.size(); i++) {
  cout << cars[i] << "\n";
}
```
# Map # Map

View File

@@ -33,6 +33,7 @@ V kódu se snažím sečíst dva různé objekty, ale nejde to, protože součet
**Já to ale můžu spravit tím, že si operaci pro součet sám definuju...** **Já to ale můžu spravit tím, že si operaci pro součet sám definuju...**
```cpp ```cpp
#include <iostream> #include <iostream>
using namespace std;
class Number class Number
{ {

View File

@@ -8,7 +8,7 @@ Reference je v podstatě jako **konstantní ukazatel** s jistými omezeními:
Zásadní mentální rozdíl taky můžeme hledat v tom, co to vlastně je. Ukazatel je proměnná s adresou v paměti, zatímco reference je alias pro objekt/proměnnou. Zásadní mentální rozdíl taky můžeme hledat v tom, co to vlastně je. Ukazatel je proměnná s adresou v paměti, zatímco reference je alias pro objekt/proměnnou.
``` ```cpp
int x = 5; # nějaká proměnná x int x = 5; # nějaká proměnná x
int& r = x; #inicializace reference, musí mít hodnotu. int& r = x; #inicializace reference, musí mít hodnotu.
@@ -19,7 +19,7 @@ p = &x;
``` ```
Referenci nelze přesměrovat na jinou adresu/proměnnou Referenci nelze přesměrovat na jinou adresu/proměnnou
``` ```cpp
int a = 1; int a = 1;
int b = 2; int b = 2;
@@ -35,7 +35,7 @@ r = b; #reference nabírá hodnoty b, teď a = b
K čemu to je dobré? K čemu to je dobré?
- stále můžu používat referenci na předání funkci. **To je hlavní důvod existence referencí - bezpečnější a čitelnější předávání parametrů místo ukazatelů.** - stále můžu používat referenci na předání funkci. **To je hlavní důvod existence referencí - bezpečnější a čitelnější předávání parametrů místo ukazatelů.**
``` ```cpp
void increment(int& r) void increment(int& r)
{ {
r++; #melo by zvysit jakoukoli promennou, co je predana jako parametr r++; #melo by zvysit jakoukoli promennou, co je predana jako parametr