Insert Depan
Insert Depan(Penambahan data di depan)
Penambahan node baru akan dikaitan di node paling depan, namun pada saat pertama kali (data masih kosong), maka penambahan data dilakukan pada head nya.
Pada prinsipnya adalah mengkaitkan data baru dengan head, kemudian head akan menunjuk pada data baru tersebut sehingga head akan tetap selalu menjadi data terdepan. Untuk menghubungkan node terakhir dengan node terdepan dibutuhkan pointer bantu.
Sebelum membaca kodingannya lebih baik sobat baca dulu keterangannya ya:
Node : rangkaian beberapa simpul
Single : artinya field pointer-nya hanya satu buah saja dan satu arah.
Linked List : artinya node-node tersebut saling terhubung satu sama lain.
Circular : artinya pointer next-nya akan menunjuk pada dirinya sendiri sehingga berputar
INSERT
DEPAN
|
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
typedef struct tnode{
int data;
tnode *next;
};
tnode *head;
void init(tnode **p){
*p=NULL;
}
int Isempty(){
if(head==NULL)
return 1;
else
return 0;
}
void insertdepan(int databaru){
tnode *baru;
baru=new tnode;
baru->data=databaru;
baru->next=NULL;
if(Isempty()==1){
head=baru;
head->next=NULL;
}
else{
baru->next=head;
head=baru;
}
printf("data masuk depan\n");
}
void tampil(){
tnode *bantu;
bantu=head;
if(Isempty()==0){
while(bantu!=0){
cout<<bantu->data<<" ";
bantu=bantu->next;
}
printf("\n");}
else
printf("masih
kosong\n");
}
int main(){
tnode *head;
init(&head);
insertdepan(10);
tampil();
getch();
}
|
EmoticonEmoticon