java快速学习排序---选择排序

1.java实现选择排序

(1)、图解选择排序

选择排序

(2)、选择排序的思想

选择排序首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。

(3)、选择排序的代码实现

public class XuanZeSort {

    public static void main(String[] args) {
        int[] a = new int[]{4, 1, 8, 6, 5, 5, 7, 2, 1, 9, 4, 5, 8};
        xuanze(a);
        for (int i = 0; i < a.length; i++) {
            System.out.print(a[i]);
        }
    }

    private static void xuanze(int[] a) {
        for (int i = 0; i < a.length; i++) {
            int min = i;
            for (int j = i + 1; j < a.length; j++) {
                if (a[j] < a[min]) {
                    min = j;
                }
            }
            if (min != i) {
                swap(a, min, i);
            } else {
                continue;
            }
        }
    }

    private static void swap(int[] a, int j, int i) {
        int k = a[j];
        a[j] = a[i];
        a[i] = k;
    }
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 简单来说,时间复杂度指的是语句执行次数,空间复杂度指的是算法所占的存储空间 时间复杂度计算时间复杂度的方法: 用常...
    Teci阅读 1,136评论 0 1
  • 0、排序算法说明 0.1 排序的定义 对一序列对象根据某个关键字进行排序。 0.2 术语说明 稳定:如果a原本在b...
    SithCait阅读 2,094评论 0 37
  • 排序的基本概念 在计算机程序开发过程中,经常需要一组数据元素(或记录)按某个关键字进行排序,排序完成的序列可用于快...
    Jack921阅读 1,480评论 1 4
  • 稳定:如果a原本在b前面,而a=b,排序之后a仍然在b的前面;不稳定:如果a原本在b的前面,而a=b,排序之后a可...
    意识流丶阅读 3,223评论 2 9
  • 饱暖之后思考一下钱袋子。遂陷入what can i do?之中。 不了解世界。但了解自己。 不懂得这个道理。但懂得...
    琉音H阅读 261评论 0 0