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

java基础 排序2

阅读更多
/**
 * MyProject
 * com.测试代码
 * 简单排序.java
 * 2009-12-15
 */
package com.测试代码;

import java.util.Arrays;

/**
 * 
 * @author jsjxqjy
 * @version 1.0.0
 * @since JDK1.6.0 ,tomcat6.0 2009-12-15
 * 
 */
public class 简单排序 {

	public static void main(String[] args) {
		// 3.对ASWRD进行排序(字符串)
		System.out.println("---------->排序前:ASWRD");
		sortStr("ASWRD","DESC");
		sortStrByArrays("ASWRD");
		// 4.对1235345进行排序。
		int a = 1235345;
		sortStr(String.valueOf(a),"ASC");
	}

	/**
	 * 对字符串进行排序
	 * @param src 要排序的字符串
	 * @param sortWay 排序方式
	 */
	public static void sortStr(String src, String sortWay) {
		char[] cArr = src.toCharArray();
		sort(cArr, sortWay);
	}

	/**
	 * 使用java自带的功能排序
	 * 
	 * @param src
	 */
	public static void sortStrByArrays(String src) {
		char[] cArr = src.toCharArray();
		Arrays.sort(cArr);
		StringBuffer sb = new StringBuffer();
		for (char item : cArr) {
			sb.append(item);
		}
		System.out.println("---------->排序后:"+sb.toString());
	}

	/**
	 * 选择排序法
	 * 
	 * @param charArray
	 *            要排序的字符数组
	 * @param sortWay
	 *            排序方式
	 */
	public static void sort(char[] charArray, String sortWay) {
		if ("ASC".equals(sortWay)) {
			sortByASC(charArray);
		} else {
			sortByDESC(charArray);
		}
	}

	// 升序
	private static void sortByASC(char[] charArray) {
		int min = 0;
		char tmp;
		for (int i = 0; i < charArray.length; i++) {
			min = i;
			for (int j = i + 1; j < charArray.length; j++) {
				if (charArray[j] < charArray[min]) {
					min = j;
				}
			}
			// exchange:
			tmp = charArray[i];
			charArray[i] = charArray[min];
			charArray[min] = tmp;
		}
		// Test the result:
		String str = "";
		for (char ss : charArray) {
			str += ss;
		}
		System.out.println("---------->排序后:"+str);
	}

	// 倒序
	private static void sortByDESC(char[] charArray) {
		int max = 0;
		char tmp;
		for (int i = 0; i < charArray.length; i++) {
			max = i;
			for (int j = i + 1; j < charArray.length; j++) {
				if (charArray[j] > charArray[max]) {
					max = j;
				}
			}
			// exchange:
			tmp = charArray[i];
			charArray[i] = charArray[max];
			charArray[max] = tmp;
		}
		// Test the result:
		String str = "";
		for (char ss : charArray) {
			str += ss;
		}
		System.out.println("---------->排序后:"+str);
	}
}

 

分享到:
评论

相关推荐

    java基础冒泡排序.ppt

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

    JAVA 8种排序介绍及实现

    在编程领域,排序算法是基础且重要的数据处理技术。本文将介绍两种常见的排序算法:直接插入排序和希尔排序,并通过Java代码实现来帮助理解。 1. 直接插入排序(直接插入排序) 直接插入排序是一种简单的排序方法,...

    java数组排序

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

    《Java基础入门》课后习题答案

    2. 数组排序程序:数组排序程序用于将数组中的元素按照从小到大排序。 本资源摘要信息涵盖了 Java 基础入门的课后习题答案,涵盖了 Java 基础知识点、Java 语言基础、Java 程序设计、Java 面向对象编程等。

    JAVA排序汇总 各种排序

    在Java编程语言中,排序是数据处理中非常基础且重要的操作。本文将全面解析Java中的各种排序算法,帮助你理解并掌握它们的核心概念、实现方式以及适用场景。 1. 冒泡排序(Bubble Sort) 冒泡排序是最简单的排序...

    java基础 经典算法之冒泡排序详解

    2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是array.length-1,但是写array.length代码也没有问题,比如5个数字在第4趟都已经排好了,再进行第5趟排序,也不会...

    java基础 算法排序.md

    java基础

    Java 基础各种排序总结

    在编程领域,排序是至关重要的一个概念,尤其是在Java这样的面向对象编程语言中。本文将深入探讨Java中的各种排序算法,帮助你巩固理解并提升编程技能。 首先,我们从最基本的内部排序算法开始,如冒泡排序(Bubble...

    java 选择排序法

    选择排序是一种简单直观的排序算法...总的来说,Java的选择排序是一种基础的排序算法实现,它利用了数组的特性进行元素的查找和交换。虽然效率较低,但其简单易懂的逻辑使得它在教学和理解排序算法方面具有一定的价值。

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

    在IT领域,排序算法是计算机科学中的基础但至关重要的部分,尤其在数据处理和数据分析中起着关键作用。本文将详细探讨标题所提及的几种排序算法:合并排序、插入排序、希尔排序、快速排序、冒泡排序以及桶排序,并...

    JAVA冒泡排序和快速排序算法

    在编程领域,排序算法是数据结构与算法学习中的基础部分,尤其在JAVA中,掌握不同的排序算法对于提高程序效率至关重要。本节将深入探讨两种常见的排序算法:冒泡排序和快速排序。 首先,我们来详细讲解冒泡排序。...

    JAVA各种排序方法及改良

    在编程领域,排序是至关重要的一个环节,尤其是在Java这样的面向对象语言中。本文将深入探讨Java中的各种排序方法以及它们的改良策略。首先,我们来看看几种基础的排序算法,然后讨论如何通过优化来提高这些算法的...

    java版冒泡排序,插入排序,堆排序,快速排序,归并排序,希尔排序,桶排序

    在编程领域,排序算法是数据结构与算法学习中的基础部分,它们用于整理无序的数据序列。以下是关于Java实现的七种排序算法的详细说明: 1. **冒泡排序(Bubble Sort)**: 冒泡排序是一种简单的排序算法,通过不断...

    JAVA四种基本排序的总结

    在Java编程语言中,排序是数据处理中非常基础且重要的操作。本文将深入探讨四种基本的排序算法:冒泡排序、插入排序、选择排序和快速排序。这些算法各有特点,适用于不同的场景,理解它们的工作原理有助于提升编程...

    java冒泡排序,插入排序,堆排序源码(终端输入,可以选择排序方法)

    在本文中,我们将深入探讨Java编程中的三种...了解和掌握这些基础排序算法对于提升编程能力,尤其是解决实际问题的能力,具有极大的帮助。无论你是初学者还是经验丰富的开发者,理解并实践这些算法都是不可或缺的步骤。

    Java各种排序算法代码

    在编程领域,排序算法是计算机科学的基础之一,尤其是在Java这样的高级编程语言中。排序算法用于组织数据,使得数据按照特定顺序排列,这对于数据分析、数据库管理、搜索效率提升等都有着重要作用。下面将详细介绍...

    选择排序java 代码

    1. **基础排序算法**:选择排序属于基础排序算法,与冒泡排序、插入排序等同为初学者必须掌握的内容。 2. **时间复杂度**:选择排序的时间复杂度在最好、最坏和平均情况下都是O(n^2),其中n是数组长度。因此,对于大...

    Java选择排序算法源码

    在编程领域,排序算法是计算机科学中的基础概念,它们用于整理数据序列,使其按照特定顺序排列。本主题将深入探讨Java实现的选择排序算法,这是一种简单直观的排序算法,适合新手学习。 选择排序(Selection Sort)...

    Java各种排序算法(含代码)

    在编程领域,排序算法是数据结构与算法学习中的基础部分,尤其在Java中,了解和掌握各种排序算法对于提升程序性能至关重要。以下是对标题和描述中提到的Java各种排序算法的详细解释,以及它们的实现代码概述。 1)*...

    java排序可视化页面

    它通过图形化的方式展示了排序过程,使得用户能够直观地看到冒泡排序、选择排序和插入排序这三种基础排序算法的工作原理。接下来,我们将深入探讨这些排序算法及其在Java中的实现。 **冒泡排序** 是最简单的排序...

Global site tag (gtag.js) - Google Analytics