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).
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
semoga bermanfaat....thanks
mksih....:-)
BalasHapus