/**
* 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基础知识: 冒泡排序详解,简单而详细的讲清楚了,什么是冒泡排序。 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如...
在编程领域,排序算法是基础且重要的数据处理技术。本文将介绍两种常见的排序算法:直接插入排序和希尔排序,并通过Java代码实现来帮助理解。 1. 直接插入排序(直接插入排序) 直接插入排序是一种简单的排序方法,...
在Java编程语言中,数组排序是一项基础且重要的任务。它涉及到不同的算法,这些算法通过比较和交换元素来达到数组元素的有序状态。本篇将详细探讨几种常见的排序算法及其在Java中的实现。 首先,让我们从最简单的...
在Java编程语言中,排序是数据处理中非常基础且重要的操作。本文将全面解析Java中的各种排序算法,帮助你理解并掌握它们的核心概念、实现方式以及适用场景。 1. 冒泡排序(Bubble Sort) 冒泡排序是最简单的排序...
2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是array.length-1,但是写array.length代码也没有问题,比如5个数字在第4趟都已经排好了,再进行第5趟排序,也不会...
java基础
以上三个知识点总结了关于 Java 排序的一些基本应用,包括基础的冒泡排序算法、使用标准库 `Collections.sort()` 进行排序以及使用 `RuleBasedCollator` 实现国际化排序等。这些技术对于编写高效、可维护的 Java ...
在编程领域,排序是至关重要的一个概念,尤其是在Java这样的面向对象编程语言中。本文将深入探讨Java中的各种排序算法,帮助你巩固理解并提升编程技能。 首先,我们从最基本的内部排序算法开始,如冒泡排序(Bubble...
选择排序是一种简单直观的排序算法...总的来说,Java的选择排序是一种基础的排序算法实现,它利用了数组的特性进行元素的查找和交换。虽然效率较低,但其简单易懂的逻辑使得它在教学和理解排序算法方面具有一定的价值。
在IT领域,排序算法是计算机科学中的基础但至关重要的部分,尤其在数据处理和数据分析中起着关键作用。本文将详细探讨标题所提及的几种排序算法:合并排序、插入排序、希尔排序、快速排序、冒泡排序以及桶排序,并...
在编程领域,排序算法是数据结构与算法学习中的基础部分,尤其在JAVA中,掌握不同的排序算法对于提高程序效率至关重要。本节将深入探讨两种常见的排序算法:冒泡排序和快速排序。 首先,我们来详细讲解冒泡排序。...
在编程领域,排序是至关重要的一个环节,尤其是在Java这样的面向对象语言中。本文将深入探讨Java中的各种排序方法以及它们的改良策略。首先,我们来看看几种基础的排序算法,然后讨论如何通过优化来提高这些算法的...
在编程领域,排序算法是数据结构与算法学习中的基础部分,它们用于整理无序的数据序列。以下是关于Java实现的七种排序算法的详细说明: 1. **冒泡排序(Bubble Sort)**: 冒泡排序是一种简单的排序算法,通过不断...
在Java编程语言中,排序是数据处理中非常基础且重要的操作。本文将深入探讨四种基本的排序算法:冒泡排序、插入排序、选择排序和快速排序。这些算法各有特点,适用于不同的场景,理解它们的工作原理有助于提升编程...
在本文中,我们将深入探讨Java编程中的三种...了解和掌握这些基础排序算法对于提升编程能力,尤其是解决实际问题的能力,具有极大的帮助。无论你是初学者还是经验丰富的开发者,理解并实践这些算法都是不可或缺的步骤。
在编程领域,排序算法是计算机科学的基础之一,尤其是在Java这样的高级编程语言中。排序算法用于组织数据,使得数据按照特定顺序排列,这对于数据分析、数据库管理、搜索效率提升等都有着重要作用。下面将详细介绍...
1. **基础排序算法**:选择排序属于基础排序算法,与冒泡排序、插入排序等同为初学者必须掌握的内容。 2. **时间复杂度**:选择排序的时间复杂度在最好、最坏和平均情况下都是O(n^2),其中n是数组长度。因此,对于大...
在编程领域,排序算法是计算机科学中的基础概念,它们用于整理数据序列,使其按照特定顺序排列。本主题将深入探讨Java实现的选择排序算法,这是一种简单直观的排序算法,适合新手学习。 选择排序(Selection Sort)...
然而,理解并掌握各种基础排序算法原理,对于优化算法、解决特定问题以及面试准备都是十分有益的。 文章中提供的`SortTest`类包含了创建随机数组、打印数组、交换数组元素以及实现冒泡排序和直接选择排序的示例代码...