1. Kata lain link disebut juga Link list
tunggal. Pointer aritmatika (variabel penunjuk) adalah variable yang berisi
alamat memory sebagai nilainya dan berbeda dengan variable biasa yang berisi
nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable yang
mempunyai nilai tertentu.
2. Pandangan sebuah linked list, LIST yang tersimpan dalam memory berupa larik INFO dan LINK, dilengkapi dengan variable penuding START, yang berfungsi menuding lokasi simpul pertama dari list, dan NULL yang digunakan untuk menyatakan berakhirnya list.
2. Pandangan sebuah linked list, LIST yang tersimpan dalam memory berupa larik INFO dan LINK, dilengkapi dengan variable penuding START, yang berfungsi menuding lokasi simpul pertama dari list, dan NULL yang digunakan untuk menyatakan berakhirnya list.
3, 4, 5, dan 6 digabung menjadi satu
7. Header linked list merupakan suatu list yang mengandung suatu simpul khusus yang terletak pada bagian awal dari list yang disebut simpul header.
jenis
linked list :
a. header linked list
b. circular linked list
c. doubly linked list
d. multiple linked list
8. Penyisipan :
8. Penyisipan :
if(awal_ptr
!= NULL)
{
cout<<"Akan disisip setelah Data Ke ? : ";
cin>>posisi_sisip;
bantu=awal_ptr;
baru =new node;
for(int i=1;i<posisi_sisip-1;i++)
{
if(bantu->next != NULL)
bantu=bantu->next; else break;
}
cout << "Masukkan Nama : ";
cin >> baru->nama;
cout << "Masukkan Umur : ";
cin >> baru->umur;
cout << "Masukkan tingggi : ";
cin >> baru->tinggi; baru->
next=bantu->next;
bantu->next=baru;
}
else
{
cout<<"Belum ada data !! silahkan isi data dulu....";
getch();
}
}
{
cout<<"Akan disisip setelah Data Ke ? : ";
cin>>posisi_sisip;
bantu=awal_ptr;
baru =new node;
for(int i=1;i<posisi_sisip-1;i++)
{
if(bantu->next != NULL)
bantu=bantu->next; else break;
}
cout << "Masukkan Nama : ";
cin >> baru->nama;
cout << "Masukkan Umur : ";
cin >> baru->umur;
cout << "Masukkan tingggi : ";
cin >> baru->tinggi; baru->
next=bantu->next;
bantu->next=baru;
}
else
{
cout<<"Belum ada data !! silahkan isi data dulu....";
getch();
}
}
menghapus
depan :
void hapusDepan (){
TNode
*hapus,*bantu;
if
(isEmpty()==0){
int
d;
hapus
= head;
d
= head->data;
if(head->next
!= head){
bantu
= head;
while(bantu->next!=head){
bantu=bantu->next;
}
head
= head->next;
delete
hapus;
bantu->next
= head;
}else{
head=NULL;
}
printf(“%d
terhapus\n“,d);
}
else printf(”Masih kosong\n“);
}
Menghapus belakang :
void hapusBelakang(){
TNode
*hapus,*bantu;
if
(isEmpty()==0){
int
d;
hapus
= head;
if(head->next
== head){
head
= NULL;
}else{
bantu
= head;
while(bantu->next->next
!= head){
bantu
= bantu->next;
}
hapus
= bantu->next;
d
= bantu->data;
bantu->next
= head;
delete
hapus;
}
printf(“%d
terhapus\n“,d);
}
else printf(”Masih kosong\n“);
}