Menambahkan Data di Tengah Linked List / Senarai

Ada kalanya kita perlu menambahkan data di tengah-tengah linked list. Tadi pagi iseng-iseng bikin program ini, dan sampai saat ini “masih” berhasil :) . 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.


(Hak cipta milik Allah SWT. Namun, bila Sahabat ada yang ingin mempublikasi ulang artikel di blog ini, diharapkan untuk meminta ijin terlebih dahulu kepada admin Nurdiana.web.id, atau setidaknya menuliskan link blog ini sebagai sumber referensi. Mari kita menjaga etika blogging.. ^.^)
You can leave a response, or trackback from your own site.

4 Responses to “Menambahkan Data di Tengah Linked List / Senarai”

  1. tulisanx keren n sangat membantu gw dalm menegrjakan kuis..
    thax yak…
    hahahaha

    [Reply]

    Nurdiana Atmanagara Reply:

    Makasih …

    Hahaha :D

    [Reply]

  2. Laila yuni says:

    makasih infonya ^^ saya juga share link blog ini ke tmn2 si facebook :D

    [Reply]

Leave a Reply

CommentLuv badge

Powered by WordPress | Designed by: Free Host | Thanks to Best CD Rates, Las Vegas Condos and Reverse Phone Look Up