`
xu283900277xiu
  • 浏览: 38937 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类

JAVA实现排序算法之选择排序

阅读更多
选择排序算法(以升序为例),依次把数组中的第一个数与剩下没有排序的所有数进行比较。
比如第一个数为a[i],每次比较都记录下小于a[i]的下标。把最小的数放在a[i]的位置。
其交换操作次数在0和(n-1)之间,赋值操作次数在0和3(n-1)之间。
交换次数比较冒泡排序少,选择排序比较冒泡排序要快。
JAVA代码如下:
public class XuanZe {

	public void sort(int[] arr){
		int index;//记录当前要比较的元素下标
		int temp;
		System.out.println("排序前:");
		for(int i = 0; i < arr.length; i++ ){
			System.out.printf("%3s", arr[i]);      
		}
		System.out.println();
		System.out.println("----------------------------------");
		for(int i = 0; i < arr.length; i++){
			index = i;
			for(int j = i + 1; j < arr.length; j++){
				if(arr[j] < arr[index]){ //找到最大的元素
					index = j; 
				}
			}
		    //把最小交换到最前面
		    temp = arr[i];
			arr[i] = arr[index];
			arr[index] = temp;
			
			System.out.println("第"+(i+1)+"次排序后:");
			for(int k = 0; k < arr.length; k++){
				System.out.printf("%3s", arr[k]); 
			}
			System.out.println();
		}
		System.out.println();
		System.out.println("----------------------------------");
		System.out.println("完成排序后:");
		for(int i = 0; i < arr.length; i++){
			System.out.printf("%3s", arr[i]); 
		}
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		int[] a = {10, 32, 1, 9, 5,3, 7, 12, 0,4,4, 3};
		XuanZe xz = new XuanZe();
		xz.sort(a);
	}

}
分享到:
评论

相关推荐

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

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

    Java排序算法实现

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

    Java选择排序算法源码

    在编程领域,排序算法是计算机科学中的基础概念,它们用于整理数据序列,使...在实际开发中,可能会使用更高效的排序算法,如快速排序、归并排序或堆排序等,但了解并能实现选择排序对理解排序算法的工作原理至关重要。

    Java实现快速排序算法+编程知识+技术开发

    Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术开发; Java实现快速排序算法+编程知识+技术...

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

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

    java排序算法插入选择冒泡

    java排序算法java排序算法插入选择冒泡java排序算法插入选择冒泡

    Java各种排序算法代码.zip

    这个名为"Java各种排序算法代码.zip"的压缩包包含了一系列实现不同排序算法的Java源代码。排序算法是计算机科学中的基本概念,用于对一组数据进行排列。下面将详细讨论这些算法及其在Java中的实现。 1. 冒泡排序...

    常用排序算法java演示

    本文将深入探讨标题"常用排序算法java演示"中涉及的知识点,包括排序算法的原理、Java实现方式以及其在实际应用中的图形演示。 首先,让我们逐一了解几种常见的排序算法: 1. **冒泡排序(Bubble Sort)**:这是一...

    快速排序算法的java实现

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

    java实现数据结构常见排序算法及详解

    ### Java 实现数据结构常见排序算法及详解 #### 排序算法概述 排序算法是计算机科学中的基础概念之一,主要用于将一系列数据按照特定规则进行排列。根据数据处理方式的不同,排序算法大致分为两大类:比较排序与非...

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

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

    Java语言实现六种排序算法

    Java中实现选择排序只需一个for循环来遍历未排序部分,再用一个内层循环找到最小元素并进行交换。 3. 插入排序(Insertion Sort) 插入排序的工作原理类似于我们平时玩扑克牌时的排序方式,将待排序元素逐个插入已...

    Java 选择排序 算法

    以下是对Java实现选择排序算法的详细解释: 1. **算法概述** - 选择排序是一种不稳定的排序算法,它将一个列表分为已排序和未排序两部分,每次从未排序的部分选取最小值并放到已排序部分的末尾。 - 在每一轮迭代...

    分别使用Java和Python实现希尔排序算法

    希尔排序:分别使用Java和Python实现希尔排序算法 希尔排序:分别使用Java和Python实现希尔排序算法 希尔排序:分别使用Java和Python实现希尔排序算法 希尔排序:分别使用Java和Python实现希尔排序算法 希尔排序:...

    Java实现排序算法

    在Java中实现这些排序算法,需要理解每种算法的核心思想,并能够用面向对象的方式将其转化为代码。通过对这些算法的学习和实践,开发者可以更好地理解和优化数据处理,提升程序的运行效率。在实际应用中,通常会选择...

    java实现排序算法

    Java中实现选择排序同样需要两层循环,一层负责外层的遍历,一层负责内层的查找与交换。 3. 插入排序(Insertion Sort) 插入排序的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到...

    各种排序算法java实现

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

    java多种排序算法的实现

    在实际应用中,插入排序和现则排序因为实现简单,使用的比较多,但是在对效率要求比较高、且待排序数据量大的场合,还是应该采用时间复杂度较低的排序算法,因此对排序算法进行试验比较,增强实践认识很有必要。...

    Java所有排序算法大全

    在编程领域,排序算法是计算机科学中的核心概念,特别是在Java这样的高级编程语言中。本文将深入探讨Java中常见的几种排序算法,包括它们的工作原理、优缺点以及如何在实际编程中应用。 首先,我们来看`BubbleSort...

Global site tag (gtag.js) - Google Analytics