ВУЗ:
Составители:
Рубрика:
обеспечения работы стека достаточен один фиксатор,содержащий
адрес последнего записанного элемента,а поле связей первого
элемента пусто.Каждый следующий элемент стека указывает на
предыдущий.
Класс stack определим как производный от класса slist с
помощью следующих логически разделенных действий:
а)ограничение понятия списка:
class ogr_slist:slist
{ public:
slist::insert;
slist::get;
ogr_slist(){}
ogr_slist(ent a):slist(a){}
};
б)задание специальных функций и типа char*,чтобы создать
стек указателей на символы:
class stack:ogr_slist
{ public:
void push(char* a) { slist::insert(a); }
char* pop() { return (char*)slist::get(); }
stack() {}
stack(char* a):ogr_slist(a) {}
};
Очередь(бобслей),как и стек,состоит из элементов,имеющих
два поля:поле связи и поле данных,но в отличие от стека на-
правления чтения и записи в ней совпадают,т.е.элемент,запи-
санный первым,и читается первым.Определим класс очередь це-
лых,совместив два указанных действия для базового класса
slist:
class iqueue:slist
{ public:
void put(int a){slist::append((void*)a); }
int deq() {return int(slist::get());}
iqueue() {}
};
65
обеспечения работы стека достаточен один фиксатор,содержащий адрес последнего записанного элемента,а поле связей первого элемента пусто.Каждый следующий элемент стека указывает на предыдущий. Класс stack определим как производный от класса slist с помощью следующих логически разделенных действий: а)ограничение понятия списка: class ogr_slist:slist { public: slist::insert; slist::get; ogr_slist(){} ogr_slist(ent a):slist(a){} }; б)задание специальных функций и типа char*,чтобы создать стек указателей на символы: class stack:ogr_slist { public: void push(char* a) { slist::insert(a); } char* pop() { return (char*)slist::get(); } stack() {} stack(char* a):ogr_slist(a) {} }; Очередь(бобслей),как и стек,состоит из элементов,имеющих два поля:поле связи и поле данных,но в отличие от стека на- правления чтения и записи в ней совпадают,т.е.элемент,запи- санный первым,и читается первым.Определим класс очередь це- лых,совместив два указанных действия для базового класса slist: class iqueue:slist { public: void put(int a){slist::append((void*)a); } int deq() {return int(slist::get());} iqueue() {} }; 65
Страницы
- « первая
- ‹ предыдущая
- …
- 63
- 64
- 65
- 66
- 67
- …
- следующая ›
- последняя »