golang快速排序算法
发布时间:2021-12-05 编辑:jiaochengji.com
教程集为您提供golang快速排序算法等资源,欢迎您收藏本站,我们将为您提供最新的golang快速排序算法资源
<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"><path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"/></svg><pre><code class="lang-go hljs"><span class="token keyword">func</span> <span class="token function">quickSort</span><span class="token punctuation">(</span>values <span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token builtin">int</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
length<span class="token operator">:=</span><span class="token function">len</span><span class="token punctuation">(</span>values<span class="token punctuation">)</span>
<span class="token keyword">if</span> length <span class="token operator"><=</span> <span class="token number">1</span> <span class="token punctuation">{</span>
<span class="token keyword">return</span>
<span class="token punctuation">}</span>
<span class="token keyword">if</span> length <span class="token operator">==</span> <span class="token number">2</span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> values<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span> <span class="token operator">></span> values<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token punctuation">{</span>
values<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> values<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token operator">=</span> values<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">,</span> values<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
<span class="token punctuation">}</span>
<span class="token keyword">return</span>
<span class="token punctuation">}</span>
mid <span class="token operator">:=</span> values<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
head<span class="token punctuation">,</span> tail <span class="token operator">:=</span> <span class="token number">1</span><span class="token punctuation">,</span> length<span class="token operator">-</span><span class="token number">1</span>
<span class="token keyword">for</span> head <span class="token operator"><</span> tail<span class="token operator"> </span><span class="token number">1</span> <span class="token punctuation">{</span>
<span class="token keyword">if</span> values<span class="token punctuation">[</span>head<span class="token punctuation">]</span> <span class="token operator">></span> mid <span class="token punctuation">{</span>
values<span class="token punctuation">[</span>head<span class="token punctuation">]</span><span class="token punctuation">,</span> values<span class="token punctuation">[</span>tail<span class="token punctuation">]</span> <span class="token operator">=</span> values<span class="token punctuation">[</span>tail<span class="token punctuation">]</span><span class="token punctuation">,</span> values<span class="token punctuation">[</span>head<span class="token punctuation">]</span>
tail<span class="token operator">--</span>
<span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
head<span class="token operator"> </span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
<span class="token keyword">if</span> tail <span class="token operator">==</span> <span class="token function">len</span><span class="token punctuation">(</span>values<span class="token punctuation">)</span><span class="token operator">-</span><span class="token number">1</span> <span class="token punctuation">{</span>
values<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span><span class="token punctuation">,</span> values<span class="token punctuation">[</span>tail<span class="token punctuation">]</span> <span class="token operator">=</span> values<span class="token punctuation">[</span>tail<span class="token punctuation">]</span><span class="token punctuation">,</span> values<span class="token punctuation">[</span><span class="token number">0</span><span class="token punctuation">]</span>
<span class="token function">quickSort</span><span class="token punctuation">(</span>values<span class="token punctuation">[</span><span class="token punctuation">:</span>tail<span class="token punctuation">]</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span> <span class="token keyword">else</span> <span class="token punctuation">{</span>
<span class="token function">quickSort</span><span class="token punctuation">(</span>values<span class="token punctuation">[</span><span class="token punctuation">:</span>head<span class="token punctuation">]</span><span class="token punctuation">)</span>
<span class="token function">quickSort</span><span class="token punctuation">(</span>values<span class="token punctuation">[</span>head<span class="token punctuation">:</span><span class="token punctuation">]</span><span class="token punctuation">)</span>
<span class="token punctuation">}</span>
<span class="token punctuation">}</span>
</code></pre>
到此这篇关于“golang快速排序算法”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
数据结构和算法(Golang实现)(10)基础知识-算法复杂度主方法
javascript排序算法代码解析
【golang】算法 -- 快速排序
php排序算法 PHP版快速排序与冒泡排序
快速排序算法 原理及golang语言实现
javascript常见排序算法实现代码
php 实现冒泡排序的简单例子
JS随机快速排序的代码分享
php实用快速排序算法的实例代码
php冒泡排序算法实现代码
上一篇:Go语言编程(八)之函数
下一篇:Go语言基础之复杂数据类型
[关闭]