Minggu, 18 April 2010

Stack dengan C++

Stack adalah struktur data yang menggunakan metode first in first out, yaitu data yang terakhir masuk yang keluar duluan. Contoh kasus stack misalnya dalam sebuah tumpukan piring. Ketika kita menumpukkan piring satu per satu hingga beberapa tumpukan, kemudian kita ingin mengambil piring dari tumpukan tersebut. Maka piring yang terambil pertama adalah piring yang terakhir kita letakkan dalam tumpukan. Berikut ini adalah source code stack menggunakan bahasa C++.

//--------------------------------------------------------//

#include "iostream"

#define max 10
using namespace std;

class stack
{
private:
int top;
int data[max];

public:
stack();
int gettop(); //untuk mengambil index data teratas/terakhir dari class stack
bool isfull(); //fungsi yang menandakan bahwa stack penuh
bool isempty(); //fungsi yang menandakan bahwa stack kosong
void push(int data); //perintah yang digunakan untuk memasukkan data ke dalam stack
int pop(); //perintah yang digunakan untuk mengambil data teratas dari stack
~stack();
};

//Implementasi fungsi-fungsi dalam class:

stack::stack()
{
top = -1;
}

int stack::gettop()
{
return top;
}

bool stack::isfull()
{
return (top >= max);
}

bool stack::isempty()
{
return (top == -1);
}

void stack::push(int data)
{
if(!(this->full()))
this->data[++top] = data;
}

int stack::pop()
{
return data[top--];
}

stack::~stack()
{
}

//--------------------------------------------------------//

Mudah bukan? hehe..

Tidak ada komentar:

Posting Komentar