深入浅出的排序算法-选择排序
2023-09-11 14:16:53 时间
前言
大家好,给大家带来选择排序
算法,希望你们喜欢
选择排序
选择排序比冒泡排序快一些,现在讲的选择排序比冒泡排序快一些,也是常用的排序算法。
选择排序是第一个人和后续排序的人进行比较,若第一个人大于第二个人,就进行交换,那么这时第一人就是最小的,然后这时的第一个人和第三个人进行比较,若这时的第一个人大于第三个人,就进行交换位置,这时第一个人又换人了,也变得更小了,就这样,把剩下的人以这种方法进行比较,直到最后,第一轮结束,在第一位的就是最小的值。
这种就是排序算法,比如有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
知识点,有兴趣可以继续关注
相关文章
- Java 经典排序算法
- 【算法】【链表模块】使用单链表进行选择排序
- Golang 【basic_leaming】切片排序算法以及 sort 包
- Google Earth Engine 实现 LandTrendr 光谱-时间分割算法的指南(运行 LT-GEE)
- C#,图像二值化(07)——全局阈值的迭代算法(Iteration Thresholding)及其源代码
- C#,简单选择排序算法(Simple Select Sort)的源代码与数据可视化
- Unity 实现A* 寻路算法
- 深入浅出的排序算法-选择排序
- 数据结构 | 排序算法——选择排序与堆排序
- 华为OD机试 -靠谱的车(Java) | 机试题+算法思路+考点+代码解析 【2023】
- 华为OD机试 -数组排序(Java) | 机试题+算法思路+考点+代码解析 【2023】
- GDI+学习笔记(九)带插件的排序算法演示器(MFC中的GDI+实例)
- 第十一周-通信信号侦察算法的主要步骤
- 蓝桥杯 之 算法训练 排序
- 白话经典算法系列之六 高速排序 高速搞定
- 数据结构和算法:Python实现选择排序
- 【算法专题】秒懂八种排序算法的原理
- 排序算法
- 排序算法——直接选择排序
- 算法补天系列之——堆和桶(以及部分排序问题)