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:
Here's what I got from pushing 10 elements: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."; cout << endl; } 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) cout << endl; } } cout << endl; } int main() { construction(twoDimentionalArray, L); for (int i=0; i < 11; i++) push(i); display(); system ("pause"); }
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!


Reply With Quote

Bookmarks