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基礎系列—List排序Java排序
- JAVA基礎--氣泡排序Java排序
- java基礎操作2Java
- java基礎簡答題_2Java
- java基礎Day2 HelloWorldJava
- java 基數排序Java排序
- Java基礎教程(2)--Java開發環境Java開發環境
- Python 基礎 2-3 列表的反轉與排序Python排序
- [Java] Introduction to Java Programming 筆記: Chapter 2. 基礎Java筆記APT
- 八大基礎排序排序
- Pandas 基礎 (2) - Dataframe 基礎
- Java併發基礎(2)------執行緒池Java執行緒
- java基礎-複用類-複用方式(2)Java
- java基礎Day2 windows常用快捷鍵JavaWindows
- 夯實基礎:排序演算法之堆排序排序演算法
- Java基礎-語法基礎Java
- JAVA 基礎Java
- java基礎Java
- [Java基礎]Java
- Java 基礎02Java程式設計基礎Java程式設計
- 2018年第七週-基礎的排序方法(三種基礎排序演算法簡介)排序演算法
- java基礎Day2 安裝JDK17JavaJDK
- 演算法基礎:排序演算法:選擇排序演算法排序
- Java基礎-物件導向基礎Java物件
- 八大基礎排序總結排序
- jQuery基礎2jQuery
- css基礎2CSS
- JavaScript基礎2JavaScript
- Sheel基礎2
- Docker 基礎 - 2Docker
- MySQL基礎(2)MySql
- Java 反射基礎Java反射
- Java基礎題Java
- Java基礎 --- 方法Java
- Scanner——Java基礎Java
- java基礎部分Java
- Java基礎篇Java
- java基礎1Java
- Java基礎(1)Java