选择排序</h3>
<pre><code class="lang-go hljs"><span class="token keyword">func</span> <span class="token function">main</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">{</span>
<span class="token comment">//在一组数中选择最小的放到首位</span>
<span class="token comment">//考虑第一趟的情况</span>
<span class="token comment">//1.找出切片中最小的数据</span>
<span class="token comment">//2.和切片中第一个数进行位置的交换</span>
s <span class="token operator">:=</span> <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token builtin">int</span><span class="token punctuation">{</span><span class="token number">5</span><span class="token punctuation">,</span><span class="token number">9</span><span class="token punctuation">,</span><span class="token number">0</span><span class="token punctuation">,</span><span class="token number">2</span><span class="token punctuation">,</span><span class="token number">7</span><span class="token punctuation">}</span>
<span class="token keyword">for</span> j<span class="token operator">:=</span><span class="token number">0</span><span class="token punctuation">;</span>j<span class="token operator"><</span><span class="token function">len</span><span class="token punctuation">(</span>s<span class="token punctuation">)</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">;</span>j<span class="token operator"> </span><span class="token punctuation">{</span><span class="token comment">//j控制趟数</span>
min <span class="token operator">:=</span> s<span class="token punctuation">[</span>j<span class="token punctuation">]</span>
minIndex <span class="token operator">:=</span> j<span class="token comment">//存储最小数下标</span>
<span class="token keyword">for</span> i<span class="token operator">:=</span>j<span class="token operator"> </span><span class="token number">1</span><span class="token punctuation">;</span>i<span class="token operator"><</span><span class="token function">len</span><span class="token punctuation">(</span>s<span class="token punctuation">)</span><span class="token punctuation">;</span>i<span class="token operator"> </span><span class="token punctuation">{</span><span class="token comment">//初始值为1,不与自己比较</span>
<span class="token keyword">if</span> min<span class="token operator">></span>s<span class="token punctuation">[</span>i<span class="token punctuation">]</span><span class="token punctuation">{</span>
min <span class="token operator">=</span> s<span class="token punctuation">[</span>i<span class="token punctuation">]</span>
minIndex <span class="token operator">=</span> i<span class="token comment">//记录下标</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">if</span> minIndex <span class="token operator">!=</span> j<span class="token punctuation">{</span><span class="token comment">// =0表示第一个数是最小的,没有交换</span>
s<span class="token punctuation">[</span>j<span class="token punctuation">]</span><span class="token punctuation">,</span>s<span class="token punctuation">[</span>minIndex<span class="token punctuation">]</span> <span class="token operator">=</span> s<span class="token punctuation">[</span>minIndex<span class="token punctuation">]</span><span class="token punctuation">,</span>s<span class="token punctuation">[</span>j<span class="token punctuation">]</span>
fmt<span class="token punctuation">.</span><span class="token function">Println</span><span class="token punctuation">(</span>s<span class="token punctuation">)</span>
<span class="token punctuation">}</span>
<span class="token comment">/*
//第二趟
min = s[1]
minIndex := 1//存储最小数下标
for i:=1 1;i<len(s);i {//初始值为1,不与自己比较
if min>s[i]{
min = s[i]
minIndex = i//记录下标
}
}
if minIndex != 1{//=0没有交换
s[0],s[minIndex] = s[minIndex],s[1]
fmt.Println(s)
}
*/</span>
<span class="token punctuation">}</span>
</code></pre>
<blockquote class="layui-elem-quote" style="width: 100%;overflow:hidden">
作者: qq_43759853
链接: https://blog.csdn.net/qq_43759853/article/details/112384458
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
</blockquote>
到此这篇关于“四、Golang学习笔记:go实现冒泡排序算法和选择排序算法”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
php 冒泡排序的实现代码
php 实现冒泡排序的简单例子
php冒泡排序的小例子
PHP实现几个排序和查找算法
php 数组排序方法分享(冒泡排序、选择排序)
php冒泡排序算法实现代码
四、Golang学习笔记:go实现冒泡排序算法和选择排序算法
php 选择排序的实现代码
php选择排序算法实现代码
javascript常见排序算法实现代码