`
lovnet
  • 浏览: 6865610 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

选择排序法之Java实现

 
阅读更多

环境:Notpad ++ 6.0 + JDK 6.0.24

选择法排序的基本思想是首先从待排序的n个数中找出最小的一个与array[0]对换;再将array [1]array [n]中的最小数与array [1]对换,依此类推。每比较一轮,找出待排序数中最小的一个数进行交换,共进行n-1次交换便可完成排序。选择法排序每执行一次外循环只进行一次数组元素的交换,可使交换的次数大大减少。

下图演示这一过程:

代码实现:

public class SelectSort{
	public static void main(String [] args){
	
		int a[] = {1, 2, 3, 56, 45, 22, 22, 26, 89, 99, 100};
		
		System.out.println("排序前:");
		for (int i = 0; i < a.length; ++ i){
			System.out.print(a[i] + " ");
		}
		
		selectSort(a);
		
		System.out.println("\n");
		System.out.println("排序后:");
		for (int i = 0; i < a.length; ++ i){
			System.out.print(a[i] + " ");
		}
	}
	
	public static void selectSort(int a[]){
	
		int min = 0;
		int temp = 0;
		
		
		for (int i = 0; i < a.length - 1; ++ i){
		
			min = i;
			for (int j = i + 1; j < a.length; ++ j){
				if (a[min] > a[j]){
					min = j;
				}
			}
			
			if (min != i){
				temp = a[min];
				a[min] = a[i];
				a[i] = temp;
			}
		}
	}
}


执行效果如图:

分享到:
评论

相关推荐

    各种排序算法比较(java实现)

    `Algorithm.java`文件可能包含了这些排序算法的Java实现代码,而`常见排序算法的实现与性能比较.doc`文档则可能详细比较了这些算法的性能和适用场景。`readme.txt`文件可能是对整个项目的简要说明,包括如何运行和...

    常用排序算法的java实现(冒泡、插入、选择、希尔、归并、快排)

    本篇文章将详细讲解标题中提到的六种常见排序算法的Java实现。 1. **冒泡排序**:冒泡排序是最基础的排序算法之一,它通过不断交换相邻的逆序元素来逐渐将较大的元素“浮”到数组的前端。在Java中,冒泡排序的基本...

    快速排序算法的java实现

    快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare在1960年提出。它的基本思想是分治法(Divide and ...由于快速排序的常数因子较小,且在大多数情况下性能良好,因此它是实践中广泛使用的排序算法之一。

    Java排序算法实现

    Java排序算法实现 Java排序算法实现 Java排序算法实现

    各种排序算法java实现

    标题 "各种排序算法java实现" 涉及到的是计算机科学中的一个重要领域——算法,特别是排序算法在Java编程语言中的具体应用。排序算法是数据结构与算法分析中的基础部分,它们用于将一组数据按照特定顺序排列。在这个...

    排序算法的Java实现

    以下将详细解释标题和描述中涉及的几种排序算法的Java实现。 1. **计数排序(RadixSort.java)** 计数排序是一种非基于比较的排序算法,适用于整数排序。它通过计算每个数字出现的次数,然后按照数字的位数从低位到...

    七大排序算法的java实现

    选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置。Java实现如下: ```java void selectionSort(int[] arr) { for (int i = 0; i...

    应用Java和Python实现冒泡排序算法

    冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python实现冒泡排序算法 冒泡排序:应用Java和Python...

    内部排序算法java实现

    这里我们将深入探讨Java实现的几种内部排序算法,包括希尔排序、快速排序、堆排序、归并排序、冒泡排序、插入排序和选择排序。 首先,希尔排序是一种基于插入排序的算法,通过将原始数组分解成多个子序列来提高效率...

    Java选择排序算法源码

    本主题将深入探讨Java实现的选择排序算法,这是一种简单直观的排序算法,适合新手学习。 选择排序(Selection Sort)的基本思想是,在未排序的序列中找到最小(或最大)的元素,放到序列的起始位置,然后再从剩余未...

    常用的排序算法(java实现),附带一个PPT动画演示、详解了其中三种

    除了插入排序和希尔排序,压缩包中还可能包含了其他几种常见的排序算法的Java实现,如冒泡排序、快速排序、选择排序、归并排序和堆排序等。每种排序算法都有其特定的适用场景和性能特点。例如,冒泡排序虽然简单,但...

    快排序的Java实现

    快速排序是一种高效的排序算法,由英国计算机科学家C.A.R....通过这个Java实现,你可以理解快速排序的基本工作原理,以及如何在实际编程中运用这种高效的排序算法。下载并运行提供的源代码,你可以看到快速排序的效果。

    八大排序算法总结(含Java实现源代码)

    选择排序是一种简单直观的选择式排序算法。它的工作原理是在未排序序列中找到最小(或最大)元素,存放到排序序列的起始位置,然后再从剩余未排序元素中继续寻找最小(或最大)元素,然后放到已排序序列的末尾。Java...

    8中排序算法(java实现)

    以下是关于标题"8种排序算法(Java实现)"及其描述中提到的排序算法的详细讲解: 1. **插入排序**: - **直接插入排序**:基本思想是从第二个元素开始,逐个与前面已排序的元素比较,找到合适的位置插入,保持已...

    基数排序算法 java实现

    基数排序是一种非比较型整数排序算法,它的原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。这种算法对于大数据量的排序尤其有效,因为其...在实际应用中,我们需要根据具体情况来选择最适合的排序算法。

    如何使用Java实现归并排序算法,程序详细解读

    归并排序:如何使用Java实现归并排序算法,程序详细解读; 归并排序:如何使用Java实现归并排序算法,程序详细解读; 归并排序:如何使用Java实现归并排序算法,程序详细解读; 归并排序:如何使用Java实现归并排序...

    常见的七大排序算法Java实现.zip

    本压缩包"常见的七大排序算法Java实现.zip"包含了七种经典的排序算法在Java语言中的实现。尽管文件列表中并未明确列出每种排序算法的名称,但根据常规,这七大排序算法可能包括冒泡排序、插入排序、选择排序、快速...

Global site tag (gtag.js) - Google Analytics