冒泡(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)
}
相关文章
相关标签/搜索