Advertisement
sabdas4869

sort

Nov 25th, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. func menuSort(){
  2.  
  3. var a,b int
  4. //var y string
  5.  
  6.  
  7. CallClear()
  8. fmt.Println("Sorting \n1.Ascending \n2.Descending")
  9. fmt.Scan(&a)
  10. if a==1{
  11. fmt.Println("Berdasarkan : \n1.Sekolah \n2.Materi")
  12. fmt.Scan(&b)
  13. if b==1{
  14.  
  15. //SELECTION SORT ASCENDING
  16.  
  17. for i := 1; i < tot; i++ {
  18. j := i
  19. for j > 0 && tab[j].sekul < tab[j-1].sekul && tab[j].id!=0 && tab[j-1].id!=0{
  20. tab[j], tab[j-1] = tab[j-1], tab[j]
  21. j -= 1
  22. }
  23.  
  24. }
  25. hasilSort()
  26. }else if b==2{
  27.  
  28. //SELECTION SORT DESCENDING
  29.  
  30. for i := 1; i < tot; i++ {
  31. j := i
  32. for j > 0 && tab[j].mat <tab[j-1].mat && tab[j].id!=0 && tab[j-1].id!=0{
  33. tab[j], tab[j-1] = tab[j-1], tab[j]
  34. j -= 1
  35. }
  36.  
  37. }
  38. hasilSort()
  39. }
  40. }else if a==2{
  41. fmt.Println("Berdasarkan : \n1.Sekolah \n2.Materi")
  42. fmt.Scan(&b)
  43. if b==1{
  44.  
  45. //INSERTION SORT DESCENDING
  46.  
  47. for j := 0; j < tot; j++ {
  48. minPos := j
  49. for i := j + 1; i < tot; i++ {
  50. if tab[i].sekul > tab[minPos].sekul && tab[i].id!=0 && tab[minPos].id!=0{
  51. minPos = i
  52. }
  53. }
  54. tab[j], tab[minPos] = tab[minPos], tab[j]
  55. }
  56. hasilSort()
  57. }else if b==2{
  58.  
  59. for j := 0; j < tot; j++ {
  60. minPos := j
  61. for i := j + 1; i < tot; i++ {
  62. if tab[i].mat > tab[minPos].mat && tab[i].id!=0 && tab[minPos].id!=0 {
  63. minPos = i
  64. }
  65. }
  66. tab[j], tab[minPos] = tab[minPos], tab[j]
  67. }
  68. hasilSort()
  69. }
  70. }
  71. CallClear()
  72. menuUtama()
  73. }
  74. func hasilSort(){
  75. for i:=0; i<tot; i++{
  76. fmt.Print(tab[i], " ")
  77. }
  78. fmt.Print("\n")
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement