Pages

Ads 468x60px

Labels

Kamis, 19 April 2012

contoh linked list tambah di tengah

nih buat temen2 yg pengen tahu caranya bikin linked list tambah ditengah.... Untuk lebih jelasnya kita lihat program dibawah (disumsikan bahwa sebelumnya kita telah memasukkan data minimal sebanyak 2 node).
Code   
void tambah_tengah(){
     TNode *baru, *bantu;
     int apa;
     if(CakCek()==0){ //kalau data sudah terisi
          cout<<"setelah data ke berapa yang ingin anda tambah? : "; cin>>apa;
          bantu=head;
          baru=new TNode;
          for(int i=1;i<apa;i++){
          if(bantu->next!=NULL)
               bantu=bantu->next;
          else break;
          }
          cout<<"Masukkan data "; cin>>baru->data;
          baru->next=bantu->next;
          bantu->next=baru;
          bantu=baru;
     }
     else cout<<"Data masih kosong, boro-boro bisa masukkan data tengah! ";
 }
Logikanya, kita membutuhkan dua variabel pointer yaitu baru dan bantu. Kemudian diawali dengan pemisalan if(CakCek()==0) yang berarti “jika data telah terisi” (fungsi CakCek() ini harus anda buat terlebih dahulu, silahkan lihat INI.) . Jika data telah terisi, maka kita harus menentukan setelah data ke berapa yang ingin dimasukkan? Misal setelah node ke 3 (node ke 4), maka kita membutuhkan pointer bantu yang dimasukkan nilai dari head. Ponter bantu ini harus kita geser sehingga menunjuk ke node 3, yang dapat dilakukan dengan pengulangan for. Setelah itu, kita tinggal mengisikan data.


semoga bermanfaat....thanks 

1 komentar: