From 8cf1283a4ffb9fe1901c29c087fa376de82726af Mon Sep 17 00:00:00 2001 From: angeld55 Date: Sat, 19 Feb 2022 23:30:52 +0200 Subject: clean up --- Sem. 10/README.md | 70 ------------------------------------------------------- 1 file changed, 70 deletions(-) delete mode 100644 Sem. 10/README.md (limited to 'Sem. 10/README.md') 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 -using namespace std; - -template -T sum(T a, T b) -{ - return a + b; -} - -int main() -{ - int a = 4; - int b = 9; - cout << sum(a, b) << endl; - - double c = 3.14; - double d = 4.5; - cout << sum(c,d) << endl; - - return 0; -} -``` -Компилаторът генерира т. нар. шаблонна функция, като замества параметрите на шаблона с типовете на съответните фактически параметри. - -**Задача 1:** -Релизирайте структурата от данни опашка. Опашката трябва да работи с **произволни типове**. След като е добавен един елемент в края на опашката, той ще може да бъде извлечен (премахнат) единствено след като бъдат премахнати всички елементи преди него в реда, в който са добавени. - -**Пример**: - ```c++ -int main() -{ - quene 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 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 -} - ``` - -- cgit v1.3.1-23-gd82d