Skip to content

Commit

Permalink
Merge pull request #5 from rizalgowandy/master
Browse files Browse the repository at this point in the history
Added fmt.Println(test case) on DoublyLinkedList and SinglyLinkedList
  • Loading branch information
kokizzu committed Sep 17, 2014
2 parents 5a4f464 + 148624a commit f8cfa34
Show file tree
Hide file tree
Showing 2 changed files with 146 additions and 3 deletions.
85 changes: 84 additions & 1 deletion DoublyLinkedList.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Doubly Linked List
Doubly Linked List Interface
*/

package main
Expand Down Expand Up @@ -312,29 +312,112 @@ func (d *DLL) PrintTailToHead() {

func main() {
d := NewDLL()
fmt.Println("Kondisi Awal DLL:")
d.PrintHeadToTail() // empty

fmt.Println()
fmt.Println("Masukan string world dari depan:")
d.InsertFirst(&Node{"world", nil, nil}) // "world"
d.PrintHeadToTail()


fmt.Println()
fmt.Println("Masukan string hello dari depan:")
d.InsertFirst(&Node{"hello", nil, nil}) // "hello" "world"
d.PrintHeadToTail()


fmt.Println()
fmt.Println("Masukan string ! dari belakang:")
d.InsertLast(&Node{"!", nil, nil}) // "hello" "world" "!"
d.PrintHeadToTail()


fmt.Println()
fmt.Println("Masukan integer(13) ke posisi kedua(1,ingat index mulai dari 0):")
d.InsertNth(&Node{13, nil, nil}, 1) // "hello" 13 "world" "!"
d.PrintHeadToTail()


fmt.Println()
fmt.Println("Masukan float(3.14) ke posisi empat(3,ingat index mulai dari 0):")
d.InsertNth(&Node{3.14, nil, nil},3) // "hello" 13 "world" 3.14 "!"
d.PrintHeadToTail()


fmt.Println()
fmt.Println("Cetak DLL dari depan ke belakang (head to tail):")
d.PrintHeadToTail() // "hello" 13 "world" 3.14 "!"


fmt.Println()
fmt.Println("Cetak DLL dari belakang ke depan (tail to head):")
d.PrintTailToHead() // "!" 3.14 "world" 13 "hello"


fmt.Println()
fmt.Println("Hapus yang paling depan(head):")
d.DeleteFirst() // 13 "world" 3.14 "!"
d.PrintHeadToTail()


fmt.Println()
fmt.Println("Hapus yang paling belakang(tail):")
d.DeleteLast() // 13 "world" 3.14
d.PrintHeadToTail()


fmt.Println()
fmt.Println("Hapus yang posisi kedua(1,ingat index mulai dari 0):")
d.DeleteNth(1) // 13 3.14
d.PrintHeadToTail()

fmt.Println()
fmt.Println("Hapus semuanya:")
d.DeleteAll() // empty
d.PrintHeadToTail()

fmt.Println()
fmt.Println("Masukkan 5 integer dari belakang:")
for i := 0; i < 5; i++ {
d.InsertLast(&Node{i, nil, nil})
d.PrintHeadToTail()
} // 0 1 2 3 4
fmt.Println()
fmt.Println("Kondisi DLL sekarang:")
d.PrintHeadToTail()

fmt.Println()
fmt.Println("Pindahkan posisi 4(3, index dari 0) ke depan")
d.MoveNthToFirst(3) // 3 0 1 2 4
d.PrintHeadToTail()

fmt.Println()
fmt.Println("Pindahkan posisi 3(2, index dari 0) ke belakang")
d.MoveNthToLast(2) // 3 0 2 4 1
d.PrintHeadToTail()

fmt.Println()
fmt.Println("Pindahkan posisi 1(0, index dari 0) ke posisi 3(2)")
d.MoveNthToNth(0,2) // 0 2 3 4 1
d.PrintHeadToTail()

fmt.Println()
fmt.Println("Pindahkan posisi 3(2, index dari 0) ke posisi 5(4)")
d.MoveNthToNth(2,4) // 0 2 4 1 3
d.PrintHeadToTail()

fmt.Println()
fmt.Println("Pindahkan posisi 5(4, index dari 0) ke posisi 1(0)")
d.MoveNthToNth(4,1) // 0 3 2 4 1
d.PrintHeadToTail()

fmt.Println()
fmt.Println("Pindahkan posisi 4(3, index dari 0) ke posisi 1(0)")
d.MoveNthToNth(3,0) // 4 0 3 2 1
d.PrintHeadToTail()

fmt.Println()
fmt.Println("Kondisi akhir DLL:")
d.PrintHeadToTail()
}
64 changes: 62 additions & 2 deletions SinglyLinkedList.go
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
Singly Linked List
Singly Linked List Interface
*/

package main
Expand Down Expand Up @@ -260,26 +260,86 @@ func (s *SLL) Print() {

func main() {
s := NewSLL()
fmt.Println("Kondisi Awal DLL:")
s.Print() // empty

fmt.Println()
fmt.Println("Masukan integer(1) dari depan:")
s.InsertFirst(&Node{1, nil}) // 1
s.Print()

fmt.Println()
fmt.Println("Masukan string hello dari depan:")
s.InsertFirst(&Node{"hello", nil}) // "hello" 1
s.Print()

fmt.Println()
fmt.Println("Masukan string # dari belakang:")
s.InsertLast(&Node{"#", nil}) // "hello" 1 "#"
s.Print()

fmt.Println()
fmt.Println("Masukan float 13.9 dari belakang:")
s.InsertLast(&Node{13.9, nil}) // "hello" 1 "#" 13.9
s.Print()

fmt.Println()
fmt.Println("Masukan integer(14) ke posisi N yaitu 4(3, index mulai dari 0):")
s.InsertNth(&Node{14, nil},3) // "hello" 1 "#" 14 13.9
s.Print()


fmt.Println()
fmt.Println("Hapus Head:")
s.DeleteFirst() // 1 "#" 14 13.9
s.Print()

fmt.Println()
fmt.Println("Hapus Tail:")
s.DeleteLast() // 1 "#" 14
s.Print()

fmt.Println()
fmt.Println("Hapus Posisi N yaitu 2(1, index mulai dari 0):")
s.DeleteNth(1) // 1 14
s.Print()

fmt.Println()
fmt.Println("Hapus semuanya:")
s.DeleteAll() // empty
s.Print()

fmt.Println()
fmt.Println("Masukan 5 integer dari belakang(tail):")
for i := 0; i < 5; i++ {
s.InsertLast(&Node{i, nil})
} // 0 1 2 3 4
s.Print()
} // 0 1 2 3 4

fmt.Println()
fmt.Println("Kondisi saat ini:")
s.Print()

fmt.Println()
fmt.Println("Pindahkan posisi n yaitu 4(3, index mulai dari 0) ke depan:")
s.MoveNthToFirst(3) // 3 0 1 2 4
s.Print()


fmt.Println()
fmt.Println("Pindahkan posisi n yaitu 2(1, index mulai dari 0) ke tail/belakang:")
s.MoveNthToLast(1) // 3 1 2 4 0
s.Print()


fmt.Println()
fmt.Println("Pindahkan posisi n yaitu 3(2, index mulai dari 0) ke posisi n yaitu 5(4, index mulai dari 0):")
s.MoveNthToNth(2,4) // 3 1 4 0 2
s.Print()


fmt.Println()
fmt.Println("Pindahkan posisi n yaitu 4(3, index mulai dari 0) ke posisi n yaitu 2(1, index mulai dari 0):")
s.MoveNthToNth(3,1) // 3 0 1 4 2
s.Print()
}

0 comments on commit f8cfa34

Please sign in to comment.