`
qing_gee
  • 浏览: 121506 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

回顾篇之Java选择排序

    博客分类:
  • Java
阅读更多

前言:可能我们写博客不能总是写一些枯燥的论文,也不能仅仅写一些技术文章,我们可能需要在博客中加入一些其他的元素,那就来个图片表明吧。


 

那下面是对Java的选择排序进行了一次回顾。

package com.honzh.mwq.sort;

/**
 * 选择排序.<br><br>
 * 
 * 每一次从待排序的数据中取出最大或者最小的数,顺序的放在已排序好的数列最后,知道待排序的数组长度为1.
 * 
 * @author qinge
 * 
 */
public class SelectSort {

	public static void main(String[] args) {
		// 数组元
		int[] orgins = { 2, 1, 5, 4, 9, 8, 6, 7, 10, 3, 3 };

		// 排序前的数
		for (int num : orgins) {
			System.out.print(num + "、");
		}
		System.out.println();
		
		// 待排序数组中最大数的下标
		int maxIndex;

		// 控制待排序数组的长度,待排序数组为元数组的长度减去每次循环最大数之和
		for (int i = 1; i < orgins.length; i++) {

			maxIndex = 0;
			
			// 待排序数组为元数组每次去除最大数剩余的无序的数组
			for (int j = 1; j <= orgins.length - i; j++) {
				
				// 找出待排序数组中的最大一个,记录其数组下标
				if (orgins[j] > orgins[maxIndex]) {
					maxIndex = j;
				}
			}
			
			// 待排序数组中最后一位,即元数组中最靠近已找出最大数的前一位
			int temp = orgins[orgins.length - i];
			// 将其置换为当前最大数
			orgins[orgins.length - i] = orgins[maxIndex];
			// 将当前最大数下标位置的数置换
			orgins[maxIndex] = temp;
			
			// 排序前的数
			for (int num : orgins) {
				System.out.print(num + "、");
			}
			System.out.println();
		}

		// 排序后的数
		for (int num : orgins) {
			System.out.print(num + "、");
		}
	}

}

 

这些简单的排序方法都是一种经典啊


 

  • 大小: 25.5 KB
0
0
分享到:
评论

相关推荐

    java 冒泡排序法 PPT文档

    冒泡排序是一种基础且经典的排序算法,主要应用于计算机科学领域,特别是在编程语言如Java中。它的名字来源于排序过程中较小的元素像气泡一样逐渐“浮”到数组或列表的顶端。这个PPT文档很可能是详细介绍了Java实现...

    JAVA快速排序课程设计

    在Java中实现快速排序,通常会使用到递归和栈的概念。首先,选择一个基准值(pivot),然后将数组分为两部分,一部分包含所有小于基准值的元素,另一部分包含所有大于或等于基准值的元素。这个过程称为分区操作。...

    java知识点回顾

    根据提供的文件信息,我们可以整理出以下关于Java的重要知识点回顾: ### 1. Java 基本数据类型 Java 提供了多种基本数据类型,包括数值型、字符型和布尔型等。 - `byte`: 占用 1 字节,取值范围为 -128 至 127。...

    java代码-选择排序算法改进

    首先,让我们回顾一下基本的选择排序算法。在Java中,一个简单的选择排序实现可能会如下所示: ```java public class SelectionSort { public static void sort(int[] arr) { for (int i = 0; i ; i++) { int ...

    java数据结构与算法+applet与源码

    Java数据结构与算法是计算机科学中的核心...同时,理解Applet及其源码可以帮助我们回顾Java的历史,理解Web开发技术的演进。通过深入研究这些主题,开发者可以提升自己的专业技能,更好地适应不断变化的软件开发环境。

    Java期末复习资料

    Java是世界上最流行的编程语言之一,尤其在企业级应用开发领域占据主导地位。这份"Java期末复习资料"无疑为准备Java考试的学生提供了宝贵的资源。它涵盖了选择题、填空题、程序阅读以及编程题,旨在帮助学生全面理解...

    JAVA经典算法90题【含源码】

    首先,"JAVA经典算法40题.doc"可能包含了一些基础的算法题目,如排序(冒泡排序、选择排序、插入排序、快速排序、归并排序)、搜索(线性搜索、二分搜索)、图论(最短路径问题、拓扑排序)以及动态规划等。...

    14丨排序优化:如何实现一个通用的、高性能的排序函数?1

    本篇将探讨如何实现一个既通用又高效的排序函数,以及在不同场景下如何选择合适的排序算法。 首先,我们回顾已知的排序算法。线性排序如计数排序和桶排序适用于特定场景,但不适用于通用排序。对于小规模数据,时间...

    疯狂java讲义第二版代码

    《疯狂Java讲义第二版》是一本深受程序员喜爱的Java编程教材,它的代码库涵盖了丰富的Java编程实践和设计模式应用。这本书深入浅出地讲解了Java语言的核心概念、语法以及面向对象编程思想,旨在帮助读者从初级到高级...

    数据结构与算法Java版

    排序算法是算法中最基础也是最重要的部分之一,包括冒泡排序、选择排序、插入排序、快速排序等。 - **冒泡排序**:通过重复比较相邻两个元素并交换顺序,使得较大的元素逐步向后移动,最终完成排序。 - **快速排序*...

    Java实训方案之数组之名将对决.docx

    【Java实训方案之数组之名将对决】 在Java编程中,数组是一种非常基础且重要的数据结构,它允许我们存储同一类型的多个元素。本实训方案针对Java数组进行了详细的教学设计,旨在帮助大学一年级的大数据技术与应用...

    JAVA经典练习题

    3. **集合框架**:ArrayList、LinkedList、HashMap、HashSet等数据结构的使用,以及如何处理迭代、查找、排序等问题。 4. **异常处理**:理解何时抛出异常,如何捕获并处理异常,以及自定义异常。 5. **文件与IO流...

    java开发实战经典

    在描述中提到,作者推荐这本书而非观看视频教程,暗示了书籍可能更便于读者按照自己的节奏学习,并能随时回顾查阅。 Java开发是软件行业中非常重要的一个领域,Java作为一种多用途、跨平台的编程语言,广泛应用于...

    2014计算机二级java考试大纲

    数据结构和算法部分,大纲通常会要求考生理解并能运用简单的数据结构,如数组、链表、栈、队列,以及一些基础算法,如排序(冒泡排序、选择排序、快速排序等)、查找(线性查找、二分查找)等。这些知识在实际编程...

    Java基础练习40题

    通过完成这些练习,Java初学者可以系统地回顾和巩固所学知识,同时也能提升代码编写和问题解决的能力。在解答过程中,不断查阅文档、理解错误信息、调试代码,都是提升编程技能的重要环节。总的来说,"Java基础练习...

    java数据结构和算法实现

    冒泡排序是最简单的排序算法之一,通过不断交换相邻的错误顺序元素来实现排序。在Java中,可以使用嵌套循环来实现冒泡排序。虽然冒泡排序效率相对较低,但对于小规模数据或教学用途,它是很好的选择。冒泡排序的时间...

    java课设有用的源码

    总的来说,这个"java课设有用的源码"集合是一个宝贵的教育资源,无论你是正在学习Java的新手,还是需要回顾基础知识的开发者,都能从中获益。通过深入研究和实践这些源码,你可以提高你的编程技能,更好地理解和掌握...

    DS and Algorithm Ananlysis in Java

    在第一章,课程会引入基本概念,包括回顾递归,并通过实例如选择问题和单词谜题来说明问题的解决思路。 总之,《DS和Algorithm Analysis in Java》是一门深入探讨数据结构与算法的课程,它将帮助学生构建解决复杂...

    2020-Java面试宝典Beta8.0.zip

    Java编程语言作为软件开发领域的主流技术之一,深受企业和开发者青睐。面试宝典是求职者准备Java程序员面试的重要参考资料,它通常涵盖了广泛的知识点,旨在帮助求职者全面了解和掌握Java核心技术,以应对各种面试...

Global site tag (gtag.js) - Google Analytics