Professional Documents
Culture Documents
Disusun oleh :
(0609U094) Azis Sugianto S
Kelas C
Dosen:
Abdulah Fajar
printf("==================================================\n\n");
getch ();
}
else
{
printf("Data yang akan di Push = ");cin >> baru;
printf("\n==================================================\n\n");
x++;
tumpuk[x].data = baru;
}
system("cls");
printf("\a");
break;
}
case 2:
{
if (x == -1)
{
printf("Tumpukan Kosong\n");
printf("==================================================\n\n");
getch();
}
else
{
printf("Data yang akan di Pop = %c\n", tumpuk[x].data);
printf("==================================================\n\n");
x--;
getch();
}
system("cls");printf("\a");
break;
}
case 3:
{
if(x == -1)
{
printf("Tumpukan Kosong\n");
printf("==================================================\n\n");
getch();
}
else
{
printf("Data yang ada ditumpukan adalah : \n");
for(i=x; i>=0;i--)
{
printf("\t\t|%c|\n", tumpuk[i].data);
}
printf("==================================================\n\n");
getch();
}
system("cls");printf("\a");
break;
}
case 4:
{
main();
}
default :
{
printf("\nTidak ada dalam pilihan");
}
}
}while(pilihan >=1 && pilihan <= 3);
getch();
}
Operasi-operasi/fungsi Stack
Dalam stack dengan linked list tidak ada istilah full, sebab biasanya
program tidak menentukan jumlah elemen stack yang mungkin ada (kecuali
jika sudah dibatasi oleh pembuatnya). Namun demikian sebenarnya stack ini
pun memiliki batas kapasitas, yakni dibatasi oleh jumlah memori yang
tersedia.
IsEmpty
Fungsi memeriksa apakah stack yang adamasih kosong.
Push
Fungsi memasukkan elemen baru ke dalam stack. Push di sini mirip dengan
insert dalam single linked list biasa.
Pop
Fungsi ini mengeluarkan elemen teratas dari stack.
Clear
Fungsi ini akan menghapus stack yang ada.
Tabel bawah ini adalah perbandingan dari stack menggunakan array dan stack
menggunakan linked list.
operasi : create()
begin begin
top := nil ; top := 0;
end; end;
operasi : empty()
begin begin
end; end;
operasi : full()
operasi : push()
top := now ;
end;
operasi : pop()
dispose(now) ;
end;
end;
operasi : clear
begin top := 0 ;
end;