码迷,mamicode.com
首页 > 编程语言 > 详细

Go-插入排序

时间:2021-02-22 12:47:30      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:UNC   func   开始   位置   --   ==   ++   class   思路   

// InsertSort 插入排序
// 思路:
// 1. 第一个元素默认是已经排好序的
// 2. 从第二个元素开始,依次比较前面一个元素中,如果小于则交换位置
// 插入排序思路: 将一个元素插入到已经排好序的序列中

// 插入排序对比冒泡排序
// 插入排序是将元素在已经排好序的元素中交换位置
// 冒泡排序是在未排好序的元素中交换我位置

func InsertSort(data []int)  {
	// i是添加新的排序元素
	for i := 0; i < len(data); i ++ {
		tmp := data[i]
		for j := i; j >= 0 ; j -- {
			// 放到第一个
			if j == 0 {
				data[0] = tmp
				break
			}
			if data[j-1] > tmp {
				data[j] = data[j-1]
			} else {
				// 放到最后一个
				data[j] = tmp
				break
			}

		}

	}
}

  

Go-插入排序

标签:UNC   func   开始   位置   --   ==   ++   class   思路   

原文地址:https://www.cnblogs.com/2bjiujiu/p/14426710.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有
迷上了代码!