首页 > golang, 算法 > golang冒泡排序的实现

golang冒泡排序的实现

2019年2月28日 发表评论 阅读评论

冒泡排序应该是我们程序员接触的第一个算法了吧。前几天去面试,考了一下冒泡排序,长时间不用,只记得个大概,就是相邻的2个元素比较大小,然后互换,具体的记不清了。然后很紧张,就没写出来。今天趁着有时间就用代码敲了一遍,当做笔记。

冒泡排序原理

  1. 比较相邻的元素。 如果第一个比第二个大,就交换他们两个。
  2. 对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。 在这一点,最后的元素应该会是最大的数。
  3. 针对所有的元素重复以上的步骤,除了最后一个。
  4. 持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

Golang实现

package main

import "fmt"

func main() {
	sort_array := [10]int{10,7,25,99,1,8,50,85,26,12}
	array_len := len(sort_array)
	for pos:=array_len-1; pos >= 0; pos--  {
		for i :=0; i < pos;  i++ {
			if sort_array[i] > sort_array[i+1] {
				tmp := sort_array[i+1]
				sort_array[i+1] = sort_array[i]
				sort_array[i] = tmp
			}
		}
	}
	fmt.Println(sort_array)
}

 

分类: golang, 算法 标签:
  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.
您必须在 登录 后才能发布评论.