TUGAS
STRUKTUR DATA STRACK
Soal!
- Stack termasuk (a) linear list atau (b) non linear lilst? Jelaskan
- Apa saja perlakuan yang di mungkinkan sehinga suatu stack di katakana dalam kondisi hampa?
- sebutkan 4 (empat) operasi pada stack dan beri contoh-contohnya.
- sebutkan dua kesalahan yang mungkin terjadi pada pengoprasian stack dan pada kondisi seperti apa kesalahan itu bias terjadi?
- konfersikan notasi infix A-B*C^D^(E*F/(G-H)) ke notasi postfix.
Jawab:
- Stack adalah termasuk (a) linear list, karena penghapusan elemenya hanya dapat di lakukan pada satu posisi, yaitu posisi akhir dari list (TOP)
- Dengan cara memeriksa TOP of STACK, jika TOP masih =-1, maka berarti STACK masih kosong.
- A. ISEMPTY
Ex:
Int ISEMPTY () MAX_STACK
{
If (tumpuk.top==-1
Return 1;
Else Top=-1
Return 0;
}
B. ISFULL
Ex:
Int ISFULL ()
{
If (tumpuk, top==MAX_STACK-1 4 MAX_STACK
Return
1; 3 Top=4
Else 2
Return
0; 1
} 0
C.
PUSH
Ex: Void Push (char d[s])
{tumpuk.top++
Strcpy(tumpuk.data[tumpuk.top],d);
}
4 MAX_STACK 4 MAX_STACK
3
3 PUSH
elemen A
2 2
1 1
0 Top=-1 0 Top=Top+1
=-1+1
=0
D. CLEAR
Ex: Void POP ()
{
Print(“Data yang di POP=%5/n”,tumpuk.data
[tumpuk.top]);tumpuk.top--;
}
4 MAX_STACK
4 Data
yang di POP=C
3 3
2 top=2 2
1 1 top=top-1
0 0 =2-1
=1
- Infix : A-B*C^D^(E*F/(G-H))
Postfix : AB-CD*^E^F*GH-+
Tidak ada komentar:
Posting Komentar