• 用golang刷算法--快速排序算法


    快速排序算法流程

    1. 选定一个基准值(任意选,以第一个为例)
    2. 定义左右指针指向左右两端
    3. 左指针往右移动,如果遇到大于基准值的数就把它和右指针的值调换位置,然后左指针不动,右指针开始向左移动,如果遇到小于基准值的数就把他和左指针的值调换位置,然后开始移动左指针,以此类推,知道左右指针相遇
    4. 递归上述过程知道排序结束

    用golang实现

    func QuickSort(intList []int) {
    	// 如果长度小于等于1就直接结束
    	if len(intList) <= 1 {
    		return
    	}
    	// 1. 将第一个值选定为基准值
    	flag := intList[0]
    	// 定义左右指针
    	left, right := 0, len(intList)-1
    
    	for i := 1; i <= right; {
    		if intList[i] > flag {
    			intList[i], intList[right] = intList[right], intList[i]
    			right--
    		}else{
    			intList[i], intList[left] = intList[left], intList[i]
    			i++
    			left++
    		}
    	}
    	// 递归
    	QuickSort(intList[:left])
    	QuickSort(intList[left+1:])
    }
    
  • 相关阅读:
    Android中内容观察者的使用 ContentObserver类详解 (转)
    Spinner
    对话框
    ButtonBar 的使用
    EditText/RadioButton/CheckBox使用
    ListView
    PieChar,此代码参考网上
    ComboBox中使用事件
    ColorPicker
    Button
  • 原文地址:https://www.cnblogs.com/kainhuck/p/12961997.html
Copyright © 2020-2023  润新知