选择排序算法是比较简单的排序算法,其思路比较直观,选择排序算法在每一步中选取最小值来重新判断,从而达到排序的目的。
排序流程如下:
1)首先从原始数组中选择最小的一个数据,将其和位于第一个位置的数据交换
2)接着从剩下的n-1个数据中选词次小的一个数据,将其和第二个位置的数据交换
3)然后不断重复上述过程,直到最后二个数据完成交换
例如下数据
初始数据 118 101 105 127 112
一次排序 101 118 105 127 112
二次排序 101 105 118 127 112
三次排序 101 105 112 127 118
四次排序 101 105 112 118 127
public class SelectSort {
public static void main(String[] args) {
int[] a = { 49, 38, 65, 97, 76, 13, 27, 49, 78, 34, 12, 64, 1, 8 };
System.out.println("排序之前:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
// 简单的选择排序
for (int i = 0; i < a.length; i++) {
int min = a[i];
int n = i; // 最小数的索引
for (int j = i + 1; j < a.length; j++) {
if (a[j] < min) { // 找出最小的数
min = a[j];
n = j;
}
}
a[n] = a[i];
a[i] = min;
}
System.out.println();
System.out.println("排序之后:");
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
}
分享到:
相关推荐
选择排序是一种简单的排序算法,它的基本思想是在未排序的序列中找到最小(或最大)的元素,存放到排序序列的起始位置,然后再从剩余未排序的元素中继续寻找最小(或最大)的元素,然后放到已排序序列的末尾。...
在这个案例中,我们关注的是选择排序法,这是一种简单的直观排序算法,由VC++实现。下面我们将详细探讨选择排序法及其在VC++中的应用。 **选择排序法**: 1. **概念**:选择排序是一种非交换排序算法,它的基本思想...
简单选择排序是一种基础且直观的排序算法,虽然效率较低,但对理解排序原理非常有帮助。当我们需要在单链表这种非数组结构上进行排序时,需要对基本的简单选择排序算法进行一些调整。接下来,我们将详细探讨如何在...
本文将深入探讨一种经典的排序算法——选择排序,并通过给定的C语言代码示例来详细解析其工作原理和实现过程。 ### 选择排序的基本概念 选择排序是一种简单直观的比较排序算法。其基本思想是在未排序序列中找到...
总结来说,选择排序法是一种基础的排序算法,它的主要优点在于算法简单,易于理解和实现,但其效率相对较低,适用于小规模数据的排序。在实际应用中,如果对性能有较高要求,通常会选择更高效的排序算法,如快速排序...
本项目聚焦于选择排序法,这是一种简单直观的排序算法,适用于小规模数据集或教学目的。 选择排序的工作原理如下: 1. **基本概念**:选择排序是一种不稳定的排序方法,它通过重复地找出待排序序列中的最小(或...
功能:编写函数用选择排序法对数组中的数据进行从小到大的排序;
选择排序是一种简单直观的排序算法,它的工作原理可以分为以下几个步骤: 1. **理解选择排序**:选择排序从数组的第一个元素开始,遍历数组寻找当前未排序部分的最小(或最大)元素。找到后,将这个最小(或最大)...
Java选择排序算法是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。这种算法对列表中的数据进行了一次完整...
### 一、选择排序算法的基本概念 **选择排序(Selection Sort)**是一种简单直观的比较排序算法。它的工作原理是:首先在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素...
选择排序是一种基础的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。本项目通过Qt库实现了选择排序算法的可视化展示,...
本篇文章将详细介绍在C#语言中实现的选择排序法、冒泡排序法以及插入排序法,并通过具体的代码示例来展示每种排序方法的工作原理。 #### 一、冒泡排序(Bubble Sort) **定义与原理:** 冒泡排序是一种简单的排序...
因此,在选择排序法应用时,需要根据实际情况选择合适的排序算法,以确保排序速度和稳定性。 在 PHP 中,选择排序法可以与其他排序算法组合使用,以提高排序速度和稳定性,例如使用快排(QuickSort)或归并排序...
用C++写了以上三种排序算法,对初学数据结构的同学一个参考
"基于Java语言实现的直接选择排序算法.pdf" 本文主要介绍了直接选择排序算法的原理和实现方法,并使用Java语言实现了该算法。文章首先介绍了排序的基本概念和分类,然后详细介绍了直接选择排序算法的基本思想和实现...
选择排序是一种简单直观的排序算法,它是通过重复地找出待排序序列中剩余元素中的最小(或最大)元素,然后将其与序列的起始位置交换,从而达到排序的效果。这种算法适用于各种编程语言,包括C、C++、Java、Python等...
循序渐进学习C语言选择排序算法.pdf 在计算机科学中,排序算法是最基本和最重要的算法之一。选择排序算法是其中的一种,广泛应用于各种编程语言中。本文将从基础开始,循序渐进地讲解C语言选择排序算法的实现和应用...
口诀教学法运用在选择排序算法中的教学设计包括以下几个方面: 1. 选择排序算法概念的讲解。首先明确排序算法的基本概念,介绍算法的定义、起源、以及它在计算机科学中的重要性。进一步地,介绍选择排序算法的基本...
选择排序算法在Java等编程语言中有着广泛的应用,尤其适用于理解基本排序算法的工作原理。 选择排序是一种不稳定的排序算法,它的基本思想是在未排序的序列中找到最小(或最大)的元素,将其放置到序列的起始位置,...
选择排序法的思路及C语言程序代码 选择排序法是从算法优化的角度对冒泡法的改进,改进的思想是:经过一轮的两两比较后,...选择排序法是一种简单、有效的排序算法,适合小规模数据的排序,但不适合大规模数据的排序。