1.选择排序算法和思路
public class SelectSort {
/**
* 创建日期:2017-3-25上午11:05:03 作者:lvguanghui
*/
public static void main(String[] args) {
/**
* 选择排序
* 思路: 一组数 从第一位先扫描一边 从中找到最小值,把最小值放到第一位 之后两者交换位置
* 之后从第二位开始扫描,从中找到最小值,把最小值放到第二位 之后两者交换位置 如此循环,直到结束
*/
int[] a = { 19, 29, 8, 2, 6, 9 };
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
System.out.println();
int temp;// 用来保存要交换的数;
for (int j = 0; j <a.length; j++) {
int min_index=j;// 定义最小值;
for (int i = j; i <a.length; i++) {
if (a[i]<a[min_index]) {
min_index= i;
}
}
System.out.print("最小值"+a[min_index]+" ");
System.out.println("最小值的下标" + min_index);
temp=a[j];
a[j]=a[min_index];
a[min_index]=temp;
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
System.out.println();
}
}
}
2.如图所示
分享到:
相关推荐
Java是一种广泛使用的编程语言,尤其在处理复杂计算和数据结构时,其强大的功能和灵活性使其成为实现算法的理想选择。在这个“java常见算法题解析大全”中,你将找到一系列涵盖不同难度级别的算法问题,旨在帮助Java...
排序算法包括经典的冒泡排序、插入排序、选择排序、快速排序、归并排序以及希尔排序等,这些算法在实际编程中经常被用到,了解它们的工作原理和时间复杂度分析对于优化代码性能至关重要。搜索算法则可能包含线性搜索...
排序算法是算法中的一大类,书中可能会包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。这些排序算法各有优劣,了解它们的工作原理和性能特点,能帮助我们在实际开发中选择最适合的排序方法。 ...
Java中常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。每种排序算法都有其优缺点,如时间复杂度、空间复杂度等,理解它们的工作原理有助于在实际开发中选择最合适的排序方式。 2. *...
一、排序算法 1. 冒泡排序:一种简单的比较排序方法,通过不断交换相邻的逆序元素逐步将序列调整为有序。 2. 选择排序:每次从未排序的部分中找到最小(或最大)的元素,放到已排序部分的末尾。 3. 插入排序:将未...
- P1:可能涵盖了基础的排序算法,如冒泡排序和插入排序。 - P4:可能涉及了高级数据结构,如堆或平衡二叉搜索树(AVL或红黑树)。 - P9:可能讲解了图论的基本概念和图的表示方法,如邻接矩阵和邻接表。 - P10:...
常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序和堆排序。每种算法都有其特点和适用场景,例如,冒泡排序适用于小规模数据,而快速排序则在处理大数据时表现出色。在Java和C语言中,实现这些...
书中的算法可能包括排序(冒泡排序、插入排序、快速排序、归并排序、堆排序等)、搜索(线性搜索、二分搜索)、图算法(深度优先搜索、广度优先搜索)、动态规划等。算法的选择和优化直接影响程序的效率和性能。例如...
2. **排序算法**:常见的有冒泡排序、选择排序、插入排序、希尔排序、快速排序、归并排序、堆排序等。这些排序算法各有优缺点,适用于不同的场景。例如,快速排序通常在平均情况下具有较高的效率,而归并排序则在...
4. **排序与查找**:包括经典的排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等)和查找算法(线性查找、二分查找)。这些是任何程序员都应该掌握的基础知识。 5. **树结构**:书中会详细...
常见的有排序算法(如冒泡排序、快速排序、归并排序、堆排序)、搜索算法(如深度优先搜索、广度优先搜索)、图算法(如Dijkstra最短路径算法、Floyd-Warshall所有对最短路径算法)、动态规划、回溯法、贪心算法等。...
理解各种排序算法的时间复杂度和适用场景至关重要,Java中的Arrays.sort()方法就是基于快速排序和归并排序的实现。 9. **搜索算法**:深度优先搜索(DFS)和广度优先搜索(BFS)是图和树遍历的基础,Java中的Stack...
在Java中,常见的算法包括排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序等)、搜索算法(线性搜索、二分搜索)、图算法(深度优先搜索、广度优先搜索)、动态规划、贪心算法等。例如,冒泡排序是一种...
1. **排序算法**:冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,以及它们的时间复杂度分析。 2. **查找算法**:顺序查找、二分查找、哈希查找等,以及在不同数据结构中的应用。 3. **递归与分治**...
5. **排序**:常见的排序算法有冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。它们在实际编程中有着广泛应用,比如在数据库查询优化和数据分析中。 6. **搜索**:包括线性搜索、二分搜索、深度优先...
1. **排序算法**:包括冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序等。这些算法在数据处理中起着关键作用,理解它们的工作原理和时间复杂度对于优化程序性能至关重要。 2. **查找算法**:如二分查找...
冒泡排序是简单直观的排序算法,书中通过Applet程序展示了冒泡排序的过程,帮助读者理解每一步的比较。此外,还会讲解插入排序、选择排序、快速排序、归并排序、堆排序等算法。 8. **查找算法**:包括顺序查找、二...
书中详细讲解了排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序)、查找算法(如线性查找、二分查找)、图算法(如深度优先搜索、广度优先搜索)以及动态规划等高级算法。通过学习这些算法,读者可以...
常见的有排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等)、搜索算法(如深度优先搜索DFS、广度优先搜索BFS、二分查找等)、图算法(如Dijkstra最短路径算法、Floyd算法、Prim最小生成树...
在Java中,常见的算法包括排序(如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序)、搜索(如线性搜索、二分搜索)、图算法(如深度优先搜索、广度优先搜索)以及动态规划、贪心算法和回溯法等。排序...