Jumat, 21 Maret 2014

Program Pemindahan Simpul



#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
typedef struct node *simpul;
struct node
     {
     char isi;
      simpul kanan;
   };
void sisip_Belakang(simpul &L,char elemen);
void Cetak(simpul L);
void Pindah(simpul &L,char elemen,char elemen1);
main()
{
 char huruf,elemen,elemen1;
 int i;
 simpul C=NULL;
 for(i=0;i<5;i++)
 {
   cout<<"\n*****************************      ALEXANDER*************************\n";
  cout<<"        Memindahkan Simpul:";
  cout<<"\nMasukkan Huruf : ";
  cin>>huruf;
  sisip_Belakang(C,huruf);
 }
 Cetak(C);
 cout<<"\n Elemen yang akan dipindah = "; cin>>elemen;
 cout<<"\n Sesudah Elemen = "; cin>>elemen1;
 Pindah(C,elemen,elemen1);
 Cetak(C);
 getch();
}

void sisip_Belakang(simpul &L,char elemen)
{
 simpul bantu,baru;
 baru=(simpul)malloc(sizeof(simpul));
 baru->isi=elemen;
 baru->kanan=NULL;
 if(L==NULL)
 L=baru;
 else
 {
     bantu=L;
   while(bantu->kanan !=NULL)
     bantu=bantu->kanan;
   bantu->kanan=baru;
 }
}
void Cetak(simpul L)
{
 simpul bantu;
 if(L==NULL)
     cout<<" Linked List Kosong....."<<endl;
 else
 {
     bantu=L;
   cout<<"Isi Linked List :  ";
   while(bantu->kanan != NULL)
   {
     cout<<bantu->isi<<" --> ";
      bantu=bantu->kanan;
   }
   cout<<bantu->isi;
 }
}

void Pindah(simpul &L,char elemen,char elemen1)
{
 simpul bantu,masuk,baru;
 bantu=L;
 while(bantu->kanan->isi !=elemen)
     bantu=bantu->kanan;
   masuk=bantu->kanan;
   bantu->kanan=bantu->kanan->kanan;
   masuk->kanan=NULL;
 baru=(simpul)malloc(sizeof(simpul));
 baru->isi=masuk->isi;
 baru->kanan=NULL;
 if(L==NULL)
 cout<<"List Kosong...."<<endl;
 else
 {
  bantu=L;
  while(bantu->isi != elemen1)
     bantu=bantu->kanan;
  baru->kanan=bantu->kanan;
  bantu->kanan=baru;
 }
}
 

Tidak ada komentar: