Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 10 / README.md
diff options
context:
space:
mode:
Commit8cf1283a4ffb9fe1901c29c087fa376de82726af (patch)
Author
 angeld55 <angel_dimitriev@abv.bg>
2022-02-19 23:30:52 +0200
Committer
 angeld55 <angel_dimitriev@abv.bg>
2022-02-19 23:30:52 +0200
Filesabdfe6bf526100dcce87a88563100e02adf7605e /Sem. 10/README.md
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.tar
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.tar.gz
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.zip
Parentd73a7ec225516657dec74472a0491330e9999217 (diff)
clean up
1 files changed, 0 insertions, 70 deletions
-rw-r--r--Sem. 10/README.md70
diff --git a/Sem. 10/README.md b/Sem. 10/README.md
deleted file mode 100644
index 40d6502..0000000
--- a/Sem. 10/README.md
+++ /dev/null
@@ -1,70 +0,0 @@
-## Шаблони
-Функция/клас, която работи не с променливи от някакъв дефиниран тип, а с абстрактни променливи, се нарича шаблонна функция/клас
-```c++
-#include <iostream>
-using namespace std;
-
-template <class T>
-T sum(T a, T b)
-{
- return a + b;
-}
-
-int main()
-{
- int a = 4;
- int b = 9;
- cout << sum<int>(a, b) << endl;
-
- double c = 3.14;
- double d = 4.5;
- cout << sum<double>(c,d) << endl;
-
- return 0;
-}
-```
-Компилаторът генерира т. нар. шаблонна функция, като замества параметрите на шаблона с типовете на съответните фактически параметри.
-
-**Задача 1:**
-Релизирайте структурата от данни опашка. Опашката трябва да работи с **произволни типове**. След като е добавен един елемент в края на опашката, той ще може да бъде извлечен (премахнат) единствено след като бъдат премахнати всички елементи преди него в реда, в който са добавени.
-
-**Пример**:
- ```c++
-int main()
-{
- quene<int> q;
- q.enqueue(3);
- q.enqueue(5);
- q.enqueue(10);
-
- cout << q.dequeue() << endl; //3
- cout << q.dequeue() << endl; //5
- cout << q.dequeue() << endl; //10
-
- cout << q.isEmpty() << endl; //1
-}
- ```
- **Задача 2:**
- Създайте **шаблонна** опашка с k приоритета. При взимане на елемент от опашката трябва да се връща най-отдавна добавения елемент от тези с най-висок приоритет.
-
- ```c++
-int main()
-{
- kPriorityQueue<char> q(4); // 4 priorities - 0, 1, 2 и 3.
-
- q.enqueue('A',0): //adds A with lowest priority: 0
- q.enqueue('B',3);
- q.enqueue('C',2);
- q.enqueue('D',2);
- q.enqueue('E',1);
-
- //q.enqueue('F', 5); //error! No such priority!
-
- q.dequeue(); // B
- q.dequeue(); // C
- q.dequeue(); // D
- q.dequeue(); // E
- q.dequeue(); // A
-}
- ```
-