Contoh Program Linked List

Bookmark and Share




#include<iostream.h>



typedef struct item {     //membuat struktur 
char data;

item *next;};



void cetak (item *C)         //membuat perintah khusus
{item *P;

 P=C;                        //nilai P menjadi C (C adalah &M)

 while (P)

 {cout<<P->data<<"-->";      //mencetak data

  P=P->next;}                //mengganti nilai P

 cout<<"STOP"<<endl;}



main ()

{

item M1,M2,M3;

item *M;



M1.data = 'M';

M2.data = 'K';

M3.data = 'X';



M1.next = &M3;

M2.next = &M1;

M3.next = NULL;               //next data yang terakhir diisi NULL

M = &M2;



cetak (M);



item Baru;                  //menambah baru di depan

Baru.data = 'B';

Baru.next = M;

M=&Baru;



cetak (M);



item Tengah;                 //menambah baru di tengah

Tengah.data = 'R';           //bisa dirubah-rubah

item *p1,*p2;

p1 = M;

p2 = p1->next;

while (p2) {

if (p1->data<Tengah.data&&Tengah.data<p2->data)

{Tengah.next = p2;

 p1->next = &Tengah;

 break;}                //memotong while bila syarat if terpenuhi

else {p1=p2;p2=p1->next;}}



cetak (M);



item Belakang;                 //menambah baru di belakang

Belakang.data = 'Z';           //bisa dirubah-rubah

p1 = M;

p2 = p1->next;

while (p2) {p1=p2;p2=p1->next;}

Belakang.next = NULL;

p1->next = &Belakang;



cetak (M);



item *Hps,*H;



Hps=M;

M=M->next;                //menghapus di depan

Hps->next=NULL;

cetak (M);



Hps=M;

while (Hps->data!='R')   //menghapus di tengah

{H=Hps;

 Hps=Hps->next;}

H->next=Hps->next;

cetak (M);



Hps=M;

while (Hps->data!='Z')   //menghapus di belakang

{H=Hps;

 Hps=Hps->next;}

H->next=Hps->next;

cetak (M);



item *cari;

cari=M;

while(cari&&cari->data!='M')

cari=cari->next;

if(cari) cout<<"\nada";

else cout<<"\ntidak ada";

}

{ 0 komentar... Views All / Send Comment! }

Posting Komentar

Powered By Blogger