
February 13th, 2013, 08:11 PM
|
|
Registered User
|
|
Join Date: Feb 2013
Posts: 1
Time spent in forums: 57 m 34 sec
Reputation Power: 0
|
|
|
Memory & arrays - 2d array to simulate linked list for stack construction
I'm trying to implement 2d array to simulate linked list for stack and I faced several difficulties doing so.
How do I implement from Top to Bottom ordering?
How do I check random index value for validity?
Source-code:
c++ Code:
Original
- c++ Code |
|
|
|
#include <iostream> using namespace std; int myTop, index, nex = -1; int twoDimentionalArray[25][3], L[25]; void construction(int twodimention[25][3], int list[25]) { myTop = -1; for(int p=0; p<25;p++) twoDimentionalArray[p][2] = -1; } void empty() { if (myTop == -1) cout << "The stack is empty."; else cout << "The stack is not empty."; } void push(int value) { if (myTop < 24) { myTop++; L[myTop] = value; index = rand()%25; twoDimentionalArray[index][0] = index; twoDimentionalArray[index][1] = value; twoDimentionalArray[index][2] = nex; nex = index; } else cout << "The stack is full."; } void top() { if (myTop != -1) cout << "The top of stack value is: " << L [myTop ]; else cout << "The stack is empty."; } void pop() { if (myTop != -1) { myTop --; twoDimentionalArray[index][2] = -1; } } void display() { for (int row=0; row<25; row++) { for (int column=0; column<3; column++) { cout << twoDimentionalArray [row ][column ] << "\t"; if (column == 2) } } } int main() { construction(twoDimentionalArray, L); for (int i=0; i < 11; i++) push(i); display(); system ("pause"); }
Here's what I got from pushing 10 elements:
0 3 9
0 0 -1
0 0 -1
3 6 24
0 0 -1
5 10 14
0 0 -1
0 0 -1
8 7 3
9 2 17
0 0 -1
0 0 -1
12 8 8
0 0 -1
14 9 12
0 0 -1
16 0 -1
17 1 16
0 0 -1
19 4 0
0 0 -1
0 0 -1
0 0 -1
0 0 -1
24 5 19
And one more thing: how do I get straight 0 from 25 index in the first coulumn? Thanks!
|