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

排序算法可视化

时间:2016-03-23 21:58:42      阅读:451      评论:0      收藏:0      [点我收藏+]

标签:

参考1)  <Algorithms_4th> chapter 2 sorting

参考2)   Sorting algorithms, wiki

 

1  selection sort 选择排序

  首先,整个序列一次比较,选择最小值,置于第一位;

  然后,剩余序列再次比较,选择最小值,置于第二位; 以此类推。

  技术分享          

  Java 实例:

技术分享
public class Selection
{
    public static void sort(Comparable[] a)
    {   
        // Sort a[] into increasing order.
        int N = a.length;      // array length
        for (int i = 0; i < N; i++)
        {   
            // Exchange a[i] with smallest entry in a[i+1...N).
            int min = i;       // index of minimal entr.
            for (int j = i+1; j < N; j++)
                if (less(a[j], a[min])) min = j;
            exch(a, i, min);
        }
      }
}
View Code

 

2  insertion sort 插入排序

  首先,前两个元素比较,逆序交换位置,顺序则不变;

  然后,后面元素与其依次比较(即已经排序的前面元素),插入相应的位置;以此类推。

  技术分享      技术分享

  Java 实例:

技术分享
public class Insertion
{
    public static void sort(Comparable[] a)
    { 
        // Sort a[] into increasing order.
        int N = a.length;
        for (int i = 1; i < N; i++)
        {
            // Insert a[i] among a[i-1], a[i-2], a[i-3]... ..
            for (int j = i; j > 0 && less(a[j], a[j-1]); j--)
                exch(a, j, j-1);
        }
      }
}
View Code

 

3  merge sort 合并排序

    技术分享    技术分享

4  quick sort 快速排序

  技术分享      技术分享

5  bubble sort 冒泡排序

  首先,前两个元素比较,小值置前,大值排后;

  然后,右移一个位置, 继续两两比较,直到最大值沉于末尾;以此类推。

  技术分享

排序算法可视化

标签:

原文地址:http://www.cnblogs.com/xinxue/p/5313122.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!