选择排序
,原理与冒泡
类似,相比之下,交换的时间效率为O(n),比较的时间效率依然为O(n^2)
代码如下,程序简单,没有提供注释。
class Select {
public static void main(String[] args) {
int[] a = {2,4,6,3,6,2,6,4,9};
sort(a);
print(a);
}
private static void sort(int[] a) {
int temp;
for(int i=0; i<a.length-1; i++) {
int min = i;
for(int j=i+1; j<a.length; j++) {
if(a[j] < a[min]) min = j;
}
if(min != i) {
temp = a[min];
a[min] = a[i];
a[i] = temp;
}
}
}
private static void print(int[] a) {
for(int i: a) System.out.print(i + " ");
System.out.println();
}
}
分享到:
相关推荐
本资源包含三个经典的排序算法的源代码:插入排序、选择排序和冒泡排序,这些都是初级到中级程序员常学习和使用的算法。下面将详细介绍这三个排序算法的工作原理、特点以及代码实现。 1. **插入排序(Insertion ...
链表排序--选择排序.cpp
价值上万的Java精品网课教程\第04天(数组)
本主题将详细探讨四种常见的排序算法:选择排序、插入排序、快速排序以及冒泡排序,它们都是用C语言实现的。以下是这些排序算法的详细解析: 1. **选择排序(Selection Sort)** - 选择排序是一种简单直观的排序...
该算法的基本思想是:选择一个基准值,通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归...
### C语言中的选择排序 #### 一、程序概述 本文档详细介绍了一个使用C语言实现的选择排序算法示例。选择排序是一种简单直观的比较排序算法,它的工作原理是遍历待排序的数据元素,依次找到最小(或最大)的元素,...
在拓扑排序的初始阶段,我们应该选择那些没有前驱课程的节点,即入度为0的课程,这些课程通常是大一的第一学期的基础课程。 3. **删除已选择的节点和相关边**:一旦选择了某个节点,就将其从图中移除,并删除与之...
《数据结构-选择排序-C.ppt》文档详细介绍了选择排序这一内部排序方法,包括它的基本思想、算法描述以及算法分析。选择排序的核心在于通过一系列的比较找到数组中最小(或最大)的元素,并将其放到正确的位置,从而...
选择排序是一种简单的排序算法,它的基本思想是在未排序的序列中找到最小(或最大)的元素,存放到排序序列的起始位置,然后再从剩余未排序的元素中继续寻找最小(或最大)的元素,然后放到已排序序列的末尾。...
Java代码-排序-直接插入排序、希尔排序、直接选择排序、冒泡排序、堆排序、快速排序、归并排序中部分排序以及算法-贪心法,大家可以将源码下载下来进行学习,附带着注释和解释,有不理解的可以找博主一起探讨,共同...
直接选择排序-flash演示 可自己输入测试数据...
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
各种排序算法的性能和选择直接影响着数据处理的效率和准确性。本文将对快速排序、归并排序、堆排序等常见排序算法进行比较和分析,探讨它们的优缺点和适用场景。 首先, let's 看一下这些排序算法的时间复杂度和...
本篇文章将详细讨论几种常见的排序算法:选择排序、冒泡排序、插入排序、合并排序以及快速排序,分析它们的算法原理、时间效率,并通过经验分析验证理论分析的准确性。 **1. 选择排序(Selection Sort)** 选择排序...
交换排序 选择排序 冒泡排序 插入排序
这里我们将深入探讨三种基本的排序算法:插值排序、选择排序和冒泡排序,这些都是在“sort.zip”压缩包文件中提供的实现。 **插值排序**是一种线性时间复杂度的排序算法,它基于插值搜索的概念。在插值排序中,我们...
直接选择排序是一种简单直观的排序算法,它是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。这种排序方法适用于小规模数据或者部分有序的数据,但在大规模数据处理中效率较低...
常见的内部排序算法包括插入排序、交换排序、选择排序、归并排序和计数排序等。 插入排序是基于一个元素一个元素地插入到已排序序列中的基本排序方法,它包含直接插入排序、折半插入排序和2路插入排序等变体。选择...
2. 选择排序(Selection Sort):选择排序每次找到当前未排序部分的最小(或最大)元素,然后将其放到已排序部分的末尾。同样,其时间复杂度为O(n^2)。 3. 插入排序(Insertion Sort):插入排序将元素逐个插入到已...
《选择排序——少儿编程Scratch项目源代码解析》 在编程的世界里,算法扮演着至关重要的角色,它们是解决问题的核心工具。对于初学者,尤其是少儿编程爱好者,理解并掌握基本的排序算法是提升编程能力的重要一步。...