Buatlah Contoh Stack dengan Linked List menggunakan C++

Stack dengan C++

3 comments

Stack adalah salah satu jenis struktur data yang menggunakan konsep LIFO ( Last in First Out ). Dengan konsep ini pengambilan data akan berkebalikan urutannya dengan penyimpanan data. Dalam membuat Stack terdapat dua cara yaitu dengan Array dan Linked List. Pemilihan cara dalam membuat Stack tergantung dengan permasalahan yang dihadapi.Ada 2 operasi dasar pada Stack yaitu Push dan Pop. Push digunakan untuk memasukkan data kedalam Stack sedangkan Pop digunakan untuk mengeluarkan data dari Stack. Ilustrasi sederhana Stack

Buatlah Contoh Stack dengan Linked List menggunakan C++

Stack

Berikut ini implementasi sederhana Stack menggunakan Linked List dan dalam bahasa pemrogramman C++. Sedangkan tool yang saya gunakan adalah CodeBlocks 8.02

#include

using namespace std;

struct node{
int data;
node *link;
};
class Stack{
private:
node *top;
public:
Stack(){
top=NULL;
}
void pushValue(int i);
int popValue();
void viewTop();
void viewAll();
~Stack(){
if(top == NULL)
return;
node *temp;
while(top != NULL)
{
temp = top;
top = top->link;
delete temp;
}
}
};
void Stack::pushValue(int i)
{
node *temp;
temp = new node;
temp->data = i;
temp->link = NULL;
if( top == NULL)
{
top = temp;
}
else
{
temp->link = top;
top = temp;
}
}
int Stack::popValue()
{
node *temp;
int n;
if( top == NULL)
{
cout<<"Stack Empty"<
return NULL;
}
else
{
n = top->data;
temp= top;
top = top->link;
delete temp;
}
return n;
}
void Stack::viewTop()
{
if( top == NULL)
{
cout<<"Stack Empty"<
}
else
{
cout<<"Top is: "<< top->data;
}

}
void Stack::viewAll()
{
node *temp;
temp = top;
while(temp->link != NULL)
{
cout << temp->data <
temp= temp->link;
}
}

int main()
{ Stack s;
int temp;
int pilihan;
while(1)
{
cout<<"Stack"<
cout<<"1.Push Data"<
cout<<"2.View Top"<
cout<<"3.Pop Data"<
cout<<"4.View All Data"<
cout<<"5.Exit"<
cout<<"Enter your choice:";
cin>>pilihan;
switch(pilihan)
{cout<
case 1:
cout<<"Insert Data:"<
cin>>temp;
s.pushValue(temp);
break;
case 2:
s.viewTop();
break;
case 3:
temp= s.popValue();
cout<
break;
case 4:
s.viewAll();
break;
case 5:
return 0;
}

}

return 0;
}

Berikut ini Download Code

Semoga membantu 😀

Referensi : Dari berbagai sumber

Salah koreksi saya.

Categories: Ren's Free Time Tags: Kukuh Utama, Pop Stack C++, Push Stack C++, Stack C++, Stack dengan Linked List, Stack dengan Senarai, Stack struktur data, Struktur data Stack, Tumpukan struktur data

Daftar Isi

1. Definisi Singly Linked List

2. Deklarasi Single Linked List pada C++

3. Operasi pada Singly Linked List

3.1. Menambah Simpul

3.2. Menghapus Simpul

3.3. Mencetak Isi Simpul

1. Definisi Singly Linked List

Single Linked List merupakan Linked List yang paling sederhana. Setiap simpul dibagi menjadi dua bagian yaitu bagian Isi dan bagian Pointer. Bagian Isi merupakan bagian yang berisi data yang disimpan oleh simpul, sedangkan bagian Pointer merupakan bagian yang berisi alamat dari simpul berikutnya. Sebagai ilustrasi, setiap simpul dari Singly List dapat dilihat pada gambar 7.1.

Buatlah Contoh Stack dengan Linked List menggunakan C++

Gambar 1. Contoh Singly Linked List

Dari gambar 7.1. terlihat bahwa simpul pertama dihubungkan ke simpul kedua melalui bagian Pointer simpul pertama. Bagian Pointer simpul kedua dihubungkan ke simpul ketiga. Demikian seterusnya hingga simpul terakhir. Bagian Pointer simpul terakhir tidak dihubungkan ke simpul lain yang disebut sebagai NULL.

Baca juga : Pengertian dan Contoh Program Pointer pada C++

2. Deklarasi Single Linked List pada C++

Dari gambar 7.1. di atas kita lihat bahwa masing-masing simpul terbagi atas dua bagian, yaitu bagian Isi dan bagian Pointer, maka dengan demikian dapat dibuat dalam struct yang terdiri dari 2 field, seperti berikut ini.

typedef struct struct node { type_data Isi; simpul->next; }

Baca juga : Pengertian dan Contoh Program Struct pada C++