|
Программирование >> Расширенная версия языка c++
ttdefine SIZE 100 clas уре { in [SIZE] ; содержит очередь int head, tail; индексы вершины и хвоста piiblic : c type ( ) ; конструктор voi rt num) ; запоминание in () ; извлечение из памяти }; Конструктор q type: :q type О ( head = tail = 0; ) \ Постановка значения в очередь void q type: :q(int num) if (tail + l=head I I (tail + 1==SIZE £S Ihead)) ] cout Очередь полна ; return; taH+-*-; if (tail==SIZE) tail = 0; круговой цикл queue [tail] = num; / . Выталкивание значения из очереди .intq type: :deq( ) { . if (head==tail) { cout << Очередь гг/ста ; return 0; } г head++; head = 0; круговой цикл return q type ql, q2; . ... . int i; for{1=1; i<=10; 14+) { -> ql.q(i); q2.q(i * i) ; 2. /1 Имитация секундомера ttinclude <iostreain> ttinclude <ctime> using class stopwatch { double begin, end; . , , - , , public: stopwatch(); -stopwatch () ; v .i void start void stop 0 ; . . J void ShowO ; . . l. ., \; stopwatch::stopwatch() begin = end = 0.0; чг - . stopwatch: :-stopwatch 0 ... cout Удаление объекта stopwatch ... ; , , show 0 ; } , void { begin = (double) clock () / CLOCKS PER SEC; , , void { end = (double) clock О / CLOCKS PER SEC; void cout Затраченное время: end - begin; cout for (i=l !-(-+) { cout Элемент из очереди 1: ql.deqO \п ; cout из очереди 2: return 0; . . int main stopwatch watch; long i; watch.start 0 ; for(i=0; i<320000; ; время цикла watch.stop О; watch.show(); return 0; 3. У конструктора не может быть возвращаемого значения. 2.2 \- II Динамическое выделение памяти для стека , . ftinclude <iostreaiti> .-. ftinclude <cstdlib> \ using namespace std; мление класса stack для символов class stack { . cha ск; содержит стек int tos; индекс вершины стека int size; размер стека public: stack(int s); конструктор ~stack(); деструктор void push{cha }; помещает в стек свол char выталкивает из стека символ Инициализация стека stack::stack(int s) cout конструктора tos - 0; stck = (char *) if (Istck) { cou Обка выделения памя1?и\п ; > exitd) ; size = s;
|
© 2006 - 2025 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |