Diktat_Prosedural_09_ADTRepresentasiListLinier

S sembarang fs terbentuk list kosong

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: tEmpty (List L); /* Mengirim true jika list kosong */ /****************** PEMBUATAN LIST KOSONG ******************/ void CreateList (List * L); /* I.S. sembarang */ /* F.S. Terbentuk list kosong */ /****************** Manajemen Memori ******************/ address Alokasi (infotype X); /* Mengirimkan address hasil alokasi sebuah elemen */ /* Jika alokasi berhasil, maka address tidak nil, dan misalnya */ /* menghasilkan P, maka info(P)=X, Next(P)=Nil */ /* Jika alokasi gagal, mengirimkan Nil */ void Dealokasi (address P); /* I.S. P terdefinisi */ /* F.S. P dikembalikan ke sistem */ /* Melakukan dealokasi/pengembalian address P */ /****************** PENCARIAN SEBUAH ELEMEN LIST ******************/ address Search (List L, infotype X); /* Mencari apakah ada elemen list dengan info(P)= X */ /* Jika ada, mengirimkan address elemen tersebut. */ /* Jika tidak ada, mengirimkan Nil */ boolean FSearch (List L, address P); /* Mencari apakah ada elemen list yang beralamat P */ /* Mengirimkan true jika ada, false jika tidak ada */ address SearchPrec (List L, infotype X, address *Prec); /* Mengirimkan address elemen sebelum elemen yang nilainya=X */ /* Mencari apakah ada elemen list dengan info(P)= X */ /* Jika ada, mengirimkan address Prec, dengan Next(Prec)=P */ /* dan Info(P)=X. */ /* Jika tidak ada, mengirimkan Nil */ /* Jika P adalah elemen pertama, maka Prec=Nil */ /* Search dengan spesifikasi seperti ini menghindari */ /* traversal ulang jika setelah Search akan dilakukan operasi lain*/ Oleh: Inggriani Liem/Revisi bab oleh: Tim IF2030 sem. 1 2011-2012/Tgl. Revisi: 3 Okt 2011 10 Draft Diktat Struktur Data Hanya untuk digunakan di lingkungan Sekolah Teknik Elektro dan Informatika ITB /****************** PRIMITIF BERDASARKAN NILAI ******************/ /*** PENAMBAHAN ELEMEN ***/ void InsVFirst (List * L, infotype X); /* I.S. L mungkin kosong */ /* F.S. Melakukan alokasi sebuah elemen dan */ /* menambahkan elemen pertama dengan nilai X jika alokasi berhasil */ void InsVLast (List * L, infotype X); /* I.S. L mungkin kosong */ /* F.S. Melakukan alokasi sebuah elemen dan */ /* menambahkan elemen list di akhir: elemen terakhir yang baru */ /* bernilai X jika alokasi berhasil. Jika alokasi gagal: I.S.= F.S. */ /*** PENGHAPUSAN ELEMEN ***/ void DelVFirst (List * L, infotype * X); /* I.S. List L tidak kosong */ /* F.S. Elemen pertama list dihapus: nilai info disimpan pada X */ /* dan alamat elemen pertama di-dealokasi */ void DelVLast (List * L, infotype * X); /* I.S. list tidak kosong */ /* F.S. Elemen terakhir list dihapus: nilai info disimpan pada X */ /* dan alamat elemen terakhir di-dealokasi */ /****************** PRIMITIF BERDASARKAN ALAMAT ******************/ /*** PENAMBAHAN ELEMEN BERDASARKAN ALAMAT ***/ void InsertFirst (List * L, address P); /* I.S. Sembarang, P sudah dialokasi */ /* F.S. Menambahkan elemen ber-address P sebagai elemen pertama */ void InsertAfter (List * L, address P, address Prec); /* I.S. Prec pastilah elemen list dan bukan elemen terakhir, */ /* P sudah dialokasi */ /* F...
View Full Document

This document was uploaded on 03/15/2014 for the course IF 2030 at Institut Teknologi Bandung.

Ask a homework question - tutors are online