ぼるじょあがC/C++の宿題を片づけますYO! 48代目
■ このスレッドは過去ログ倉庫に格納されています
0665デフォルトの名無しさん
2005/08/01(月) 16:38:49機能は最低限。
class array_stack {
int DATA_MAX, data_num, *data;
public:
array_stack(int max = 100) : DATA_MAX(max), data_num(0) {data = new int[DATA_MAX];}
~array_stack() {delete[] data;}
bool empty() {return data_num == 0;}
int pop() {if (empty()) throw "empty!"; return data[--data_num];}
void push(int t) {
if (data_num + 1 == DATA_MAX) throw "full!";
data[data_num++] = t;
}
};
class array_queue {
int DATA_MAX, data_num, *data;
public:
array_queue(int max = 100) : DATA_MAX(max), data_num(0) {data = new int[DATA_MAX];}
~array_queue() {delete[] data;}
bool empty() {return data_num == 0;}
int pop() {if (empty()) throw "empty!"; return data[--data_num];}
void push(int t) {
if (data_num + 1 == DATA_MAX) throw "full!";
int* first = data, * last = data + data_num;
while (last != first) {--last; *(last + 1) = *last;}
data[0] = t;
++data_num;
}
};
■ このスレッドは過去ログ倉庫に格納されています