美文网首页JavaEE 学习专题Java学习笔记Java 杂谈
Vic-深入浅出的排序算法-选择排序

Vic-深入浅出的排序算法-选择排序

作者: 魔王哪吒 | 来源:发表于2018-03-16 19:39 被阅读9次

前言

大家好,我是 Vic,今天给大家带来选择排序算法,希望你们喜欢

选择排序

选择排序比冒泡排序快一些,现在讲的选择排序比冒泡排序快一些,也是常用的排序算法。

选择排序是第一个人和后续排序的人进行比较,若第一个人大于第二个人,就进行交换,那么这时第一人就是最小的,然后这时的第一个人和第三个人进行比较,若这时的第一个人大于第三个人,就进行交换位置,这时第一个人又换人了,也变得更小了,就这样,把剩下的人以这种方法进行比较,直到最后,第一轮结束,在第一位的就是最小的值。

这种就是排序算法,比如有6个人,第一轮要进行5次比较,不是。

  • 代码示例
//第一轮  
for(int index=1;index<arr.length;index++)  
{  
if(arr[0]>arr[index])  
{  
  int temp = arr[0];  
  arr[0] = arr[index];  
  arr[index] = temp;  
}  
}  
print(arr);  
  
//第二轮  
for(int index=2;index<arr.length;index++)  
{  
if(arr[1]>arr[index])  
{  
  int temp = arr[1];  
  arr[1] = arr[index];  
  arr[index] = temp;  
}  
}  
print(arr);  
  
//第三轮  
for(int index=3;index<arr.length;index++)  
{  
if(arr[2]>arr[index])  
{  
  int temp = arr[2];  
  arr[2] = arr[index];  
  arr[index] = temp;  
}  
}  
print(arr);  
  
//第四轮  
for(int index=4;index<arr.length;index++)  
{  
if(arr[3]>arr[index])  
{  
  int temp = arr[3];  
  arr[3] = arr[index];  
  arr[index] = temp;  
 }  
}  
print(arr);  
  
//第五轮  
for(int index=5;index<arr.length;index++)  
{  
if(arr[4]>arr[index])  
{  
  int temp = arr[4];  
  arr[3] = arr[index];  
  arr[index] = temp;  
 }  
}  
print(arr);  
  
//第六轮没有,我们arr.length=6举例  
//int index = 6;index<arr.length; false  
  • 优化
public static void selectionSort(int[] arr)  
{  
for(int count=1;count<arr.length;count++)  
{  
 for(int index=count;index<arr.length;index++)  
 {  
  if(arr[count-1]>arr[index])  
  {  
    int temp = arr[count-1];  
    arr[count-1] = arr[index];  
    arr[index] = temp;  
  }  
 }  
}  

总结

  • 本文讲了选择排序,如果您还有更好地理解,欢迎沟通
  • 定位:分享 Android&Java知识点,有兴趣可以继续关注

相关文章

  • Vic-深入浅出的排序算法-选择排序

    前言 大家好,我是 Vic,今天给大家带来选择排序算法,希望你们喜欢 选择排序 选择排序比冒泡排序快一些,现在讲的...

  • 算法-选择排序

    算 法:选择排序算法时间复杂度: 选择排序算法概述 选择排序伪代码 选择排序实现 选择排序算法概述 排序算法有许...

  • Vic-深入浅出的排序算法-冒泡排序

    前言 大家好,我是Vic,今天给大家带来冒泡排序算法,希望你们喜欢 冒泡排序 为什么这个排序要叫冒泡呢?为什么不叫...

  • PHP常用算法

    基于选择的排序算法 常见的基于选择的排序算法有:冒泡排序、插入排序、选择排序、归并排序和快速排序,我们在选在排序算...

  • 算法4:插入排序和选择排序算法的比较

    排序算法列表电梯: 选择排序算法:详见 《算法4》2.1 - 选择排序算法(Selection Sort), Py...

  • 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

    图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序 图形化排序算法比较:快速排序、插入排序、选择排序、冒泡排序

  • 基础排序算法总结

    排序算法分为内部排序和外部排序,而我们经常说的基础排序算法,都是内部排序算法。包括冒泡排序,选择排序,插入排序,快...

  • 算法and数据结构

    算法 冒泡排序 选择排序 计数排序

  • LeetCode大全

    1.常见排序算法: 常见的排序算法:冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序、堆排序、计数排序、...

  • 排序算法

    排序算法 排序是最基本的算法之一,常见的排序算法有插入排序、希尔排序、选择排序、冒泡排序、堆排序、归并排序及快速排...

网友评论

    本文标题:Vic-深入浅出的排序算法-选择排序

    本文链接:https://www.haomeiwen.com/subject/xqvrqftx.html