Skip to content

Instantly share code, notes, and snippets.

View abdulrahmanAlotaibi's full-sized avatar
🎨
Programming

Abdulrahman Alotaibi abdulrahmanAlotaibi

🎨
Programming
  • Riyadh, KSA
  • 06:26 (UTC -12:00)
View GitHub Profile
package main
import (
"fmt"
)
func main(){
fmt.Println("Bubble Sort:")
fmt.Println(bubbleSort([]int{5,2,3,22,-4,0,11,-5,1,1}))
fmt.Println(bubbleSort([]int{-5,12,3,2,-4,0,11,-5,1,1}))
@abdulrahmanAlotaibi
abdulrahmanAlotaibi / mergeSort.go
Last active December 15, 2022 23:12
Merge Sort Algorithim in Go
package main
import (
"fmt"
)
func main(){
fmt.Println("Merge Sort:")
fmt.Println(mergeSort([]int{2,1,-3,0}))
fmt.Println(mergeSort([]int{22,1111,-113,10,6}))
package main
import (
"fmt"
)
func main(){
fmt.Printf("Inerstion sort: %d", insertionSort([]int{2,3,-1,-4,9,1,2,0}))
}
@abdulrahmanAlotaibi
abdulrahmanAlotaibi / isPalindromic.go
Created December 15, 2022 23:14
isPalindromic Algorithim
package main
import "fmt"
func main(){
fmt.Println("Is the the string the same if we reverse it ?")
fmt.Println(isPalindromic("AHA"))
fmt.Println(isPalindromic("Go"))
}
func isPalindromic(s string)bool{
@abdulrahmanAlotaibi
abdulrahmanAlotaibi / deleteDuplicatesSortedArray.go
Created December 15, 2022 23:15
Arrays Algorithims #1 : Delete Duplicates form a sorted array
func deleteDuplicatesSortedArray(arr []int)[]int{
for i:= 0 ; i < len(arr) - 1 ; i++ {
if arr[i] == arr[i+1]{
arr = append(arr[:i], arr[i+1:]...)
}
}
return arr
}
@abdulrahmanAlotaibi
abdulrahmanAlotaibi / evenOdd.go
Created December 15, 2022 23:18
Arrays #2 : Even numbers should appear first than odd numbers
func evenOdd(nums []int){
for i, j := 0 , len(nums) - 1 ; i <= j;{
if(nums[i] % 2 != 0 && nums[j] % 2 == 0){ // Even
nums[i], nums[j] = nums[j],nums[i]
}
if nums[i] % 2 == 0 {
i++
}
if nums[j] % 2 != 0 {
j--
@abdulrahmanAlotaibi
abdulrahmanAlotaibi / dutchFlagPartition.go
Created December 15, 2022 23:19
Arrays #3 : The Dutch National Flag Problem (V1)
func dutchFlagPartition(arr []int, pivotIndex int) []int{
pivot := arr[pivotIndex]
for i:= 0 ; i < len(arr) ; i++ {
for j:= i + 1 ; j < len(arr) ; j++ {
if arr[j] < pivot {
arr[i], arr[j] = arr[j], arr[i]
break;
}
}
@abdulrahmanAlotaibi
abdulrahmanAlotaibi / improvedDutchFlag.go
Created December 15, 2022 23:21
Arrays #4 : Improved Dutch Flag solution
func improvedDutchFlag(arr []int, pivotIndex int)[]int{
pivot := arr[pivotIndex]
smaller := 0;
for i:=0; i < len(arr) ; i++ {
if arr[i] < pivot {
arr[i], arr[smaller] = arr[smaller] , arr[i]
smaller++
}
}
@abdulrahmanAlotaibi
abdulrahmanAlotaibi / linkedlist.go
Created December 15, 2022 23:22
Linkedlist ADT
package main
import "fmt"
func main (){
var l = LinkedList{}
var p Person= Person{"Abdulrahman",3}
l.insert(&p)
package main
import "fmt"
type node struct {
data int
next *node
}
type queue struct {