Jumat, 20 November 2009

Array Vs Link List

Berikut ini adalah perbandingan pada operasi-operasi dasar dari Stack Dengan Linked List dan Stack Dengan Array versi bahasa C (yang versi bahasa Pascal bisa dilihat pada:Agus Fahyadi,dkk,MIPA UGM) :

Stack Dengan Linked List

operasi : create()

Bentuk struct awal :
struct node {

elementype data;

struct node*next;
};
void creat () {
head=NULL;

};

operasi : empty()

int empty () {
if (head==NULL) return 1;
else return 0;
};
operasi : full()

tidak ada istilah full pada stack.
program tidak menentukan jumlah elemen stack yang mungkin ada. kecuali dibatasi oleh
pembuat program dan jumlah memory yang
tersedia. tempat akan sesuai dengan
banyaknya elemen yang mengisi stack.

operasi : push()

void push (elementype e) {
struct node *ptr;
ptr=(struct node*)malloc(sizeof(struct
node));
ptr->data=e;
ptr->next=head;
head=ptr;

};

operasi : pop()

void pop (elementype e) {
struct node *ptr;
*e=head->data;
ptr=head;
head=head->next;
free(ptr);
};


operasi : clear()

void clear () {
elementype *;
while (!empty()) pop (&x);
};


Stack Dengan Array

operasi : create()

int T[max],top;



void creat () {

top= -1;

};

operasi : empty()

int empty () {
if (head==NULL) return 1;
else return 0;
}; int empty () {

if (top== -1) return 1;

else return 0;

}

operasi : full()

int full () {

if (top==max-1) return 1;

else return 0;
};

operasi : push()

void push (elementype e) {
struct node *ptr;
ptr=(struct node*)malloc(sizeof(struct
node));
ptr->data=e;
ptr->next=head;
head=ptr;

};
void push (int e) {

if (! Full () ) {

top=top+1;

T(top)=e;

}

};

operasi : pop()

void pop (int e) {

if (! Empty () ) {

e=T(top);

top- =1;

}

};

operasi : clear()

procedure clear ;

begin

top := 0 ;

end;

untuk lebih jelas disertakan juga perbedaan array dan link list :

Array : Link List

Statis : Dinamis

insert/delete data terbatas : insert/delete data tidak terbatas

Random access : Sequensial access

delete array tidak mungkin : delete link list mudah

Java...coming up!!!

Tidak ada komentar:

Posting Komentar