`

java中的排序

 
阅读更多
/**
 * 选择排序:首先第一趟从n个元素中找到最大或最小的元素与第一个元素交换; 
 * 第二趟从第二个元素开始的第n-1个元素中再选出最小的放到第二位,以此类推。
 * @author Administrator
 * 
 */
public class SelectSort {

	/**
	 * 有大到小
	 * 
	 * @param values
	 */
	public static void descSort(int[] values) {
		int temp = 0;
		for (int i = 0; i < values.length; i++) {
			for (int j = i + 1; j < values.length; j++) {
				// 如果后面的一位大于前面的以为,则两个值交换位置
				if (values[i] < values[j]) {
					temp = values[i];
					values[i] = values[j];
					values[j] = temp;
				}
			}
		}
	}

	/**
	 * 有大到小
	 * 
	 * @param values
	 */
	public static void ascSort(int[] values) {
		int temp = 0;
		for (int i = 0; i < values.length; i++) {
			for (int j = i + 1; j < values.length; j++) {
				// 如果后面的一位小于前面的以为,则两个值交换位置
				if (values[i] > values[j]) {
					temp = values[i];
					values[i] = values[j];
					values[j] = temp;
				}
			}
		}
	}

	public static void main(String[] args) {
		int[] values = { 5, 1, 9, 10, 6, 4, 7, 8, 3, 2 };
		SelectSort.ascSort(values);
		for (int i = 0; i < values.length; i++) {
			System.out.println(values[i]);
		}
	}

}

 

package com.yt;

/**
 * 插入排序:简单说就是数组里第二个和第一个比谁小,把小的放到第一个里,
 * 大的放到第二个里,然后第二个再和第三个比,小的还是放在前,一直比到这个数组结束
 * @author Administrator
 * 
 */
public class InsertSort {

	public static void injectionSort(int[] number){
		for(int i = 1;i<number.length;i++){
			int tmp = number[i];
			int j = i-1;
			while(tmp<number[j]){
				number[j+1] = number[j];
				j--;
				if(j == -1)
					break;
			}
			number[j+1] = tmp;
		}
	}

	public static void main(String[] args) {
		int[] nums = { 2, 3, 9, 10, 5, 6, 8, 4, 7, 1 };
		InsertSort.injectionSort(nums);
		for (int i = 0; i < nums.length; i++) {
			System.out.println(nums[i]);
		}
	}

}
 
package com.yt;

/**
 * 冒泡排序:将n个元素中的第一个和第二个相比较,如果两个元素的顺序为逆序,则交换两个元素的位置;再
 * 进行第二个元素和第三个元素的比较,如此类推,只到比较第n-1个元素和n个元素为止。
 * @author Administrator
 * 
 */
public class MaoPaoSort {

	public static void mpDescSort(int[] values) {
		int temp = 0;
		for (int i = 1; i < values.length + 1; i++) {
			for (int j = 0; j < values.length - i; j++) {
				if (j < values.length - 1) {
					if (values[j] < values[j + 1]) {
						temp = values[j + 1];
						values[j + 1] = values[j];
						values[j] = temp;
					}
				}
			}
		}
	}

	public static void mm(int[] nums) {
		int temp = 0;
		for (int i = 0; i < nums.length; i++) {
			for (int j = 0; j < nums.length - i; j++) {
				if (j < nums.length - 1 && nums[j] > nums[j + 1]) {
					temp = nums[j];
					nums[j] = nums[j + 1];
					nums[j + 1] = temp;
				}
			}
		}
	}

	public static void main(String[] args) {
		int[] nums = { 2, 3, 9, 10, 5, 6, 8, 4, 7, 1 };
		MaoPaoSort.mpDescSort(nums);
		for (int i = 0; i < nums.length; i++) {
			System.out.println(nums[i]);
		}
	}

}
分享到:
评论

相关推荐

    java中文排序,数字字母汉字排序

    在Java编程语言中,对包含中文、数字和字母的数据进行排序是一项常见的任务。这个场景下,我们关注的是如何实现一个自定义的排序规则,按照数字、字母和汉字的顺序进行排列。以下是对这一主题的详细解释。 首先,...

    Java 中文排序 使用pinyin4j组件

    在Java编程语言中,对中文字符串进行排序是一个相对复杂的问题,因为中文字符的排序不能简单地按照Unicode编码顺序来处理。通常,我们需要考虑汉字的拼音或者笔画等属性来进行排序。这里我们将详细介绍如何使用`...

    JAVA中排序的方法.doc

    JAVA中排序的方法

    java 中文姓氏 排序

    本文将详细介绍如何在 Java 中对包含中文姓氏的对象列表或字符串列表进行排序。 #### 二、基本概念 1. **Collator 类**:这是 Java 中用于文本排序和检索的标准类。`Collator` 类提供了与语言环境相关的字符串排序...

    JAVA经典排序汇总

    【正文】 ...总的来说,本文涵盖了Java中主要的排序算法,通过实例代码和性能分析,有助于读者系统地学习和掌握排序算法。无论是初学者还是经验丰富的开发者,都能从中受益,提升自己的编程能力。

    java中排序,求最小值、最大值和杨辉三角的题解

    在Java编程语言中,排序、查找最小值和最大值以及杨辉三角是基础且重要的概念。下面我们将逐一探讨这些知识点。 1. **排序算法** - **冒泡排序(Bubble Sort)**:这是一种简单的排序算法,通过重复遍历数组,比较...

    Java 实现ip 地址排序

    Java ip 地址排序Java ip 地址排序Java ip 地址排序Java ip 地址排序

    关于中文英文混合排序javaDemo

    在Java编程语言中,处理中文和英文混合的排序问题是一个常见的需求,特别是在处理用户输入、数据库数据或文件名等场景。这个"关于中文英文混合排序javaDemo"的示例主要展示了如何实现这样的功能。让我们深入探讨一下...

    java数组排序

    在Java编程语言中,数组排序是一项基础且重要的任务。它涉及到不同的算法,这些算法通过比较和交换元素来达到数组元素的有序状态。本篇将详细探讨几种常见的排序算法及其在Java中的实现。 首先,让我们从最简单的...

    java数组自定义排序

    java中数组的自定义排序,种类繁多,简单实现,可自由操控。

    java基础冒泡排序.ppt

    Java基础知识: 冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如...

    java冒泡排序代码

    java冒泡排序代码,亲测能用,控制台输入数据,自动排序

    java List 排序 Collections.sort

    总结起来,`Collections.sort()`是Java中对List进行排序的标准工具,它支持自然排序和自定义排序。了解其工作原理和优化技巧,可以帮助我们在编程实践中更高效地处理数据。通过阅读和理解`Collections.sort()`的源码...

    java 集合分组与排序

    下面我们将深入探讨如何在Java中实现集合的分组与排序。 1. **集合分组**: 集合分组通常涉及到`GroupingBy`操作,这在Java 8引入的流(Stream)API中得到了很好的支持。`Collectors.groupingBy`方法允许我们将...

    JAVA 8种排序介绍及实现

    本文将介绍两种常见的排序算法:直接插入排序和希尔排序,并通过Java代码实现来帮助理解。 1. 直接插入排序(直接插入排序) 直接插入排序是一种简单的排序方法,它的工作原理类似于我们平时手动整理扑克牌。在排序...

    java中排序报:Comparison method violates its general contract异常的解决

    在Java编程中,当执行排序操作时,可能会遇到一个特定的异常:“Comparison method violates its general contract”。这个异常通常发生在使用`Arrays.sort()`或`Collections.sort()`方法时,尤其是在从Java 6升级到...

    数据结构之JAVA排序JAVASORT.pdf

    本文件“数据结构之JAVA排序JAVASORT.pdf”很可能是对Java中排序算法的一个深入探讨。下面我们将详细讲解Java中的排序算法及其重要性。 首先,我们要理解什么是排序。排序是指将一组数据按照特定的顺序进行排列的...

    java中list排序

    Java 中 List 排序 Java 中 List 排序是指在数据库中查出来的列表中对不同的字段重新排序。一般的做法都是使用排序的字段,重新到数据库中查询。如果不到数据库查询,直接在第一次查出来的 List 中排序,无疑会提高...

Global site tag (gtag.js) - Google Analytics