/* 3. ´ÙÀ½ ÇÁ·Î±×·¥ÀÇ Ãâ·ÂÀ» ½á¶ó. */ #include int number[5] = { 1, 2, 3, 4, 5 }; // ¿©±â¸¦ ¹Ù²Ü °Í class Stack { int *x; int y; public: Stack() { x = NULL; y = 0; } void push(int p) { if (y == 0) { x = new int[1]; y = 1; x[0] = p; } else { int *t = new int[2*y]; for (int i = 0; i < y; i++) { t[i] = x[i]; } for (i = y; i < 2*y; i++) { t[i] = x[y-1]; } y = 2*y; t[y-1] = p; x = t; } } void pop() { y = y - 2; } void print() { for(int i = 0; i < y; i++) printf("%d ",x[i]); putchar('\n'); } }; void main() { Stack test; test.push(number[0]); test.push(number[1]); test.push(number[2]); test.pop(); test.push(number[3]); test.push(number[4]); test.print(); }