<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>archive</title><link>https://archive-w.netlify.app/algo/sort/</link><description>Recent content on archive</description><generator>Hugo</generator><language>zh-CN</language><atom:link href="https://archive-w.netlify.app/algo/sort/index.xml" rel="self" type="application/rss+xml"/><item><title/><link>https://archive-w.netlify.app/algo/sort/bubble-sort/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://archive-w.netlify.app/algo/sort/bubble-sort/</guid><description>&lt;h2 id="bubble">
 bubble
 &lt;a class="anchor" href="#bubble">#&lt;/a>
&lt;/h2>
&lt;h3 id="visualization">
 visualization
 &lt;a class="anchor" href="#visualization">#&lt;/a>
&lt;/h3>
&lt;p>&lt;img src="https://archive-w.netlify.app/.images/algo/sort/bubble-sort-01.gif" alt="">&lt;/p>
&lt;h3 id="implement">
 implement
 &lt;a class="anchor" href="#implement">#&lt;/a>
&lt;/h3>
&lt;h6 id="java" class="anchor_hr" style="font-size: 0rem; margin: 0; padding: 0; border-width: 0px;">&lt;/h6>&lt;h6 id="c" class="anchor_hr" style="font-size: 0rem; margin: 0; padding: 0; border-width: 0px;">&lt;/h6>&lt;div class="docsify-tabs docsify-tabs--classic">&lt;button anchorId="java" class="docsify-tabs__tab" data-tab="JAVA">JAVA&lt;/button>&lt;div class="docsify-tabs__content" data-tab-content="java">
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="java" data-line="" class="language-java line-numbers" style="max-height: none">&lt;code class="language-java">import java.util.Arrays;

public class BubbleSort{
 public static void sort(int[] raw){
 for (int i = 1; i &amp;lt; raw.length ; i++) {
 for (int j = 0; j &amp;lt; raw.length - i ; j++) {
 if(raw[j] &amp;gt; raw[j+1])
 switchNumberByTemp(raw,j,j+1);
 }
 }
 }

 public static void switchNumberByTemp(int[] raw,int x, int y){
 int temp = raw[x];
 raw[x] = raw[y];
 raw[y] = temp;
 }

 public static void main(String[] args){
 int[] arr = { 3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48 };
 sort(arr);
 System.out.println(Arrays.toString(arr));
 }
}
&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>&lt;button anchorId="c" class="docsify-tabs__tab" data-tab="C">C&lt;/button>&lt;div class="docsify-tabs__content" data-tab-content="c">
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="c" data-line="" class="language-c line-numbers" style="max-height: none">&lt;code class="language-c">
&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>&lt;/div>
&lt;h2 id="reference">
 Reference
 &lt;a class="anchor" href="#reference">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>


 &lt;a href="https://www.runoob.com/w3cnote/bubble-sort.html" rel="noopener" target="_blank">https://www.runoob.com/w3cnote/bubble-sort.html&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title/><link>https://archive-w.netlify.app/algo/sort/insertion-sort/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://archive-w.netlify.app/algo/sort/insertion-sort/</guid><description>&lt;h2 id="insertion">
 insertion
 &lt;a class="anchor" href="#insertion">#&lt;/a>
&lt;/h2>
&lt;h3 id="visualization">
 visualization
 &lt;a class="anchor" href="#visualization">#&lt;/a>
&lt;/h3>
&lt;p>&lt;img src="https://archive-w.netlify.app/.images/algo/sort/insertion-sort-01.gif" alt="">&lt;/p>
&lt;h3 id="implement">
 implement
 &lt;a class="anchor" href="#implement">#&lt;/a>
&lt;/h3>
&lt;h6 id="java" class="anchor_hr" style="font-size: 0rem; margin: 0; padding: 0; border-width: 0px;">&lt;/h6>&lt;h6 id="c" class="anchor_hr" style="font-size: 0rem; margin: 0; padding: 0; border-width: 0px;">&lt;/h6>&lt;h6 id="python" class="anchor_hr" style="font-size: 0rem; margin: 0; padding: 0; border-width: 0px;">&lt;/h6>&lt;div class="docsify-tabs docsify-tabs--classic">&lt;button anchorId="java" class="docsify-tabs__tab" data-tab="JAVA">JAVA&lt;/button>&lt;div class="docsify-tabs__content" data-tab-content="java">
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="java" data-line="" class="language-java line-numbers" style="max-height: none">&lt;code class="language-java">import java.util.Arrays;

public class InsertionSort{
 public static void sort(int[] raw){
 for (int i = 1; i &amp;lt; raw.length; i++) {
 int preIndex = i - 1;
 int currentValue = raw[i];
 while(preIndex &amp;gt;= 0 &amp;amp;&amp;amp; currentValue &amp;lt; raw[preIndex]){
 // 覆盖循环
 raw[preIndex + 1] = raw[preIndex];
 preIndex--;
 }
 raw[preIndex + 1] = currentValue;
 }
 }

 public static void main(String[] args){
 int[] arr = { 3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48 };
 sort(arr);
 System.out.println(Arrays.toString(arr));
 }
}
&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>&lt;button anchorId="c" class="docsify-tabs__tab" data-tab="C">C&lt;/button>&lt;div class="docsify-tabs__content" data-tab-content="c">
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="c" data-line="" class="language-c line-numbers" style="max-height: none">&lt;code class="language-c">&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>&lt;button anchorId="python" class="docsify-tabs__tab" data-tab="Python">Python&lt;/button>&lt;div class="docsify-tabs__content" data-tab-content="python">
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="python" data-line="" class="language-python line-numbers" style="max-height: none">&lt;code class="language-python">def insertionSort(arr):
    for i in range(len(arr)):
        preIndex = i-1
        current = arr[i]
        while preIndex &amp;gt;= 0 and arr[preIndex] &amp;gt; current:
            arr[preIndex+1] = arr[preIndex]
            preIndex-=1
        arr[preIndex+1] = current
    return arr
&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>&lt;/div>
&lt;h2 id="reference">
 Reference
 &lt;a class="anchor" href="#reference">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>


 &lt;a href="https://www.runoob.com/w3cnote/selection-sort.html" rel="noopener" target="_blank">https://www.runoob.com/w3cnote/selection-sort.html&lt;/a>&lt;/li>
&lt;/ul></description></item><item><title/><link>https://archive-w.netlify.app/algo/sort/selection-sort/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://archive-w.netlify.app/algo/sort/selection-sort/</guid><description>&lt;h2 id="selection">
 selection
 &lt;a class="anchor" href="#selection">#&lt;/a>
&lt;/h2>
&lt;h3 id="visualization">
 visualization
 &lt;a class="anchor" href="#visualization">#&lt;/a>
&lt;/h3>
&lt;p>&lt;img src="https://archive-w.netlify.app/.images/algo/sort/selection-sort-01.gif" alt="">&lt;/p>
&lt;h3 id="implement">
 implement
 &lt;a class="anchor" href="#implement">#&lt;/a>
&lt;/h3>
&lt;h6 id="java" class="anchor_hr" style="font-size: 0rem; margin: 0; padding: 0; border-width: 0px;">&lt;/h6>&lt;h6 id="c" class="anchor_hr" style="font-size: 0rem; margin: 0; padding: 0; border-width: 0px;">&lt;/h6>&lt;div class="docsify-tabs docsify-tabs--classic">&lt;button anchorId="java" class="docsify-tabs__tab" data-tab="JAVA">JAVA&lt;/button>&lt;div class="docsify-tabs__content" data-tab-content="java">
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="java" data-line="" class="language-java line-numbers" style="max-height: none">&lt;code class="language-java">import java.util.Arrays;

public class SelectionSort{
 public static void sort(int[] raw){
 for (int i = 0; i &amp;lt; raw.length - 1 ; i++) {
 int temp = i;
 for (int j = i + 1; j &amp;lt; raw.length ; j++) {
 if(raw[temp] &amp;gt; raw[j])
 temp = j;
 }
 switchNumberByXor(raw,i,temp);
 }
 }

 public static void switchNumberByXor(int[] raw, int x, int y ){
 if(raw[x] == raw[y]) return;
 raw[x] = raw[x] ^ raw[y];
 raw[y] = raw[x] ^ raw[y];
 raw[x] = raw[x] ^ raw[y];
 }

 public static void main(String[] args){
 int[] arr = { 3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48 };
 sort(arr);
 System.out.println(Arrays.toString(arr));
 }
}
&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>&lt;button anchorId="c" class="docsify-tabs__tab" data-tab="C">C&lt;/button>&lt;div class="docsify-tabs__content" data-tab-content="c">
&lt;div class="outer yosemite">&lt;div class="dot red">&lt;/div>&lt;div class="dot amber">&lt;/div>&lt;div class="dot green">&lt;/div>&lt;/div>
&lt;div class="code-toolbar">&lt;pre data-lang="c" data-line="" class="language-c line-numbers" style="max-height: none">&lt;code class="language-c">&lt;/code>&lt;/pre>&lt;/div>
&lt;/div>&lt;/div>
&lt;h2 id="reference">
 Reference
 &lt;a class="anchor" href="#reference">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>


 &lt;a href="https://www.runoob.com/w3cnote/selection-sort.html" rel="noopener" target="_blank">https://www.runoob.com/w3cnote/selection-sort.html&lt;/a>&lt;/li>
&lt;/ul></description></item></channel></rss>