冒泡(bubblesort)、選擇排序、插入排序、快速排序

冒泡排序(bubblesort)ui

特色:經過換位置的方式,一直向上冒泡spa

package main

import "fmt"

func bubbleSortAsc(arrayA []int){
    for i:=0; i < len(arrayA); i++ {
    	for j:=0; j < len(arrayA)-1-i; j++ {
    		if arrayA[j] > arrayA[j+1]{
        		arrayA[j], arrayA[j+1] = arrayA[j+1], arrayA[j]
			}
    	}
    }
    fmt.Println(arrayA)    
}

func bubbleSortDesc(arrayA []int){
	for i:=0; i < len(arrayA); i++{
		for j:=0; j < len(arrayA)-1-i; j++{
			if arrayA[j] < arrayA[j+1]{
				arrayA[j], arrayA[j+1] = arrayA[j+1], arrayA[j]
			}
		}
	}
	fmt.Println(arrayA)
}

func main(){
	var arrayA []int = []int{1,3,5,2,9,10,6,4,8,7}
	bubbleSortAsc(arrayA)
	bubbleSortDesc(arrayA)
}

 

 

快速排序(quicksort)blog

特色:外層循環每次能肯定一個最小/大的數,第二次循環能肯定第二小/大的數排序

package main

import "fmt"

func quickSortAsc(arrayA []int){
    for i:=0; i < len(arrayA); i++ {
    	for j:=i+1; j < len(arrayA); j++ {
    		if arrayA[i] > arrayA[j]{
        		arrayA[i], arrayA[j] = arrayA[j], arrayA[i]
			}
    	}
    }
    fmt.Println(arrayA)    
}

func quickSortDesc(arrayA []int){
	for i:=0; i < len(arrayA); i++{
		for j:=i+1; j < len(arrayA); j++{
			if arrayA[i] < arrayA[j]{
				arrayA[i], arrayA[j] = arrayA[j], arrayA[i]
			}
		}
	}
	fmt.Println(arrayA)
}

func main(){
	var arrayA []int = []int{1,3,5,2,9,10,6,4,8,7}
	quickSortAsc(arrayA)
	quickSortDesc(arrayA)
}

  

插入排序(insertsort)class

像打撲克牌時的抓牌,第一張牌是不須要插入的,第二張牌開始就須要插入了,根據習慣,這裏是從右往左看,小的一直往左邊挪,一旦確認位置就退出循環(去抓下一張牌)import

package main

import "fmt"

func insertSortAsc(arrayA []int){
    for i:=1; i < len(arrayA); i++ {
    	for j:=i; j > 0; j-- {
    		fmt.Println(arrayA[j])
    		if arrayA[j-1] > arrayA[j]{
        		arrayA[j-1], arrayA[j] = arrayA[j], arrayA[j-1]
			} else {
				break
			}
    	}
    	
    }
    fmt.Println(arrayA)    
}

func insertSortDesc(arrayA []int){
	for i:=1; i < len(arrayA); i++{
		for j:=i; j > 0; j--{
			if arrayA[j-1] < arrayA[j]{
				arrayA[j-1], arrayA[j] = arrayA[j], arrayA[j-1]
			} else {
				break
			}
		}
	}
	fmt.Println(arrayA)
}

func main(){
	var arrayA []int = []int{3,1,5,2,9,10,6,4,8,7}
	insertSortAsc(arrayA)
	insertSortDesc(arrayA)
}
相關文章
相關標籤/搜索