Professional Documents
Culture Documents
Single Linked List
Single Linked List
hanNabi
yl
ah
221011402502
#i
ncl
ude<i
ost
ream>
#i
ncl
ude<i
omani
p>
#i
ncl
ude<st
ri
ng>
usi
ngnamespacest
d;
st
ructMahasi
swa{
st
ri
ngnama;
i
ntni
m;
st
ri
nggender
;
f
loatni
l
ai;
Mahasi
swa*pr
ev;
Mahasi
swa*next
;
}
;
Mahasi
swa*head=NULL;
v
oidi
nser
tDat
a(st
ri
ngnama,
intni
m,st
ri
nggender
,fl
oatni
l
ai){
Mahasi
swa*newNode=newMahasi
swa;
newNode-
>nama=nama;
newNode-
>ni
m =ni
m;
newNode-
>gender=gender
;
newNode-
>ni
l
ai=ni
l
ai;
newNode-
>pr
ev=NULL;
newNode-
>next=NULL;
i
f(head==NULL){
head=newNode;
}el
sei
f(ni
m <head-
>ni
m){
newNode-
>next=head;
head-
>pr
ev=newNode;
head=newNode;
}el
se{
Mahasi
swa*
temp=head;
whi
l
e(t
emp-
>next
!=NULL&&t
emp-
>nex
t->ni
m<ni
m){
t
emp=t
emp-
>next
;
newNode-
>next
=temp-
>next
;
i
f(t
emp-
>next
!=NULL){
t
emp-
>next
->pr
ev=newNode;
t
emp-
>next
=newNode;
newNode-
>pr
ev=t
emp;
cout
<<"
Dat
aMahasi
swaBer
hasi
lDi
tambahkan.
"<<endl
;
}
v
oiddel
eteDat
a(i
ntni
m){
i
f(head==NULL){
cout
<<"
LinkedLi
stkosong.
"<<endl
;
r
etur
n;
Mahasi
swa*
temp=head;
whi
l
e(t
emp!
=NULL&&t
emp-
>ni
m!=ni
m){
t
emp=t
emp-
>next
;
i
f(t
emp==NULL){
cout
<<"
Dat
aMahasi
swadenganNI
M"<<ni
m<<"
ti
dakdi
temukan.
"<<endl
;
r
etur
n;
i
f(t
emp-
>pr
ev!
=NULL){
t
emp-
>pr
ev-
>next
=temp-
>next
;
}el
se{
head=t
emp-
>next
;
i
f(t
emp-
>next
!=NULL){
t
emp-
>next
->pr
ev=t
emp-
>pr
ev;
}
del
etet
emp;
cout
<<"
Dat
aMahasi
swadenganNi
m"<<ni
m<<"
ber
hasi
ldi
hapus.
"<<endl
;
v
oidpr
int
Dat
a(){
i
f(head==NULL){
cout
<<"
LinkedLi
stKosong.
"<<endl
;
r
etur
n;
cout
<<"
Dat
aMahasi
swa:
"<<endl
;
cout
<<"
--
--
--
--
--
--
"<<endl
;
cout
<<"
Nim|
Nama|
Gender|
Nil
ai"
<<endl
;
cout
<<"
--
--
--
--
--
--
"<<endl
;
Mahasi
swa*
temp=head;
whi
l
e(t
emp!
=NULL){
cout
<<setw(8)<<temp->ni
m<<"|"
<<setw(
20)<<t
emp- >nama<<"
|"
<<set
w(6)
<<t
emp
-
>gender
<<"
|"
<<setw(5)
<<setprecisi
on(2)
<<f
ixed<<temp-
>nil
ai<<endl
;
t
emp=t
emp-
>next
;
cout
<<"
--
--
--
--
--
--
--
-"
<<endl
;
}
i
ntmai
n(){
i
ntchoi
ce;
st
ri
ngnama,
gender
;
i
ntni
m;
f
loatni
l
ai;
do{
cout
<<"
MenuPi
l
ihan:
"<<endl
;
cout
<<"
1.I
nser
tDat
a"<<endl
;
cout
<<"
2.HapusDat
a"<<endl
;
cout
<<"
3.Cet
akDat
a"<<endl
;
cout
<<"
4.Ex
it"
<<endl
;
cout
<<"
Pil
i
hMenu:
";
ci
n>>choi
ce;
swi
tch(
choi
ce){
case1:
cout
<<"
MasukkanNama:
";
ci
n.i
gnor
e()
;
get
li
ne(
cin,
nama)
;
cout
<<"
MasukkanNi
m:"
;
ci
n>>ni
m;
cout
<<"
MasukkanGender
:"
;
ci
n.i
gnor
e()
;
get
li
ne(
cin,
gender
);
cout
<<"
MasukkanNi
l
ai:
";
ci
n>>ni
l
ai;
i
nser
tDat
a(nama,
nim,
gender
,ni
l
ai)
;
br
eak;
case2:
cout
<<"
MasukkanNi
m Dat
ayangakandi
hapus:
";
ci
n>>ni
m;
del
eteDat
a(ni
m);
br
eak;
case3:
pr
int
Dat
a()
;
br
eak;
case4:
cout
<<"
Ter
imaKasi
h!"
<<endl
;
br
eak;
def
aul
t:
cout
<<"
Pil
i
hant
idakv
ali
d."
<<endl
;
br
eak;
cout
<<endl
;
}whi
l
e(choi
ce!
=4)
;
r
etur
n0;