membuat sebuah array dan mendeklarasikannya agar mampu menyimpan 50 elemen.
Jika user hanya memasukkan 5 elemen, maka 45 space pada memori akan sia-sia. Disisi lain, jika user ingin memasukkan 51 elemen, space yang telah disediakan didalam array tidak akan cukup. Dibandingkan dengan sequential representation, linked representation lebih sedikit rumit tetapi lebih fleksibel. Linked representation menyesuaikan memori yang dibutuhkan oleh user.
Contoh Source Codenya
class SeqStack {
int top = -1;
int memSpace[];
int limit;
/* pada permulaan, stack kosong*/
/* penyimpanan untuk integer */
/* ukuran dari memSpace */
SeqStack() {
memSpace = new int[10];
limit = 10;
}
SeqStack(int size) {
memSpace = new int[size];
limit = size;
}
boolean push(int value) {
top++;
/* memeriksa apakah stack penuh */
if (top < limit) {
memSpace[top] = value;
} else {
top--;
return false;
}
return true;
}
int pop() {
int temp = -1;
/* memeriksa apakah stack kosong */
if (top >= 0) {
temp = memSpace[top];
top--;
} else {
return -1;
}
return temp;
}
public static void main(String args[]) {
SeqStack myStack = new SeqStack(3);
myStack.push(1);
myStack.push(2);
myStack.push(3);
myStack.push(4);
System.out.println(myStack.pop());
System.out.println(myStack.pop());
System.out.println(myStack.pop());
System.out.println(myStack.pop());
}
}
Hasilnya
Sumber : JENI (Java Education Network Indonesia)
Tidak ada komentar:
Posting Komentar