1. 程式人生 > 實用技巧 >給定一個只包含字母的字串,按照先小寫字母后大寫字母的順序進行排序。

給定一個只包含字母的字串,按照先小寫字母后大寫字母的順序進行排序。

public class Demo06 {
//給定一個只包含字母的字串,按照先小寫字母后大寫字母的順序進行排序。
//樣例 1:
// 輸入: "abAcD"
// 輸出: "acbAD"
public static void main(String[] args) {
char[] array ={'a','B','c','A'};
A(array);
}
public static void A(char[] chars) {
for (int x = 0; x< chars.length-1; x++) {
//第一輪比較將靠前的大寫字元移動到後面,但不改變大寫之間的位置
for (int i = x+1; i < chars.length; i++) {
/*chars[x] ,chars[i]為兩個相鄰的字元,且chars[i]chars[x]後面
chars[x] < 'a' 判斷靠前字元是否為大寫字母
chars[i] >= 'a'判斷靠後的字元是否為小寫
chars[x] <chars[i] 判斷靠前的字元是否小於靠後的字
*/
if (chars[x] < 'a' & chars[x]
< chars[i] & chars[i] >= 'a') {
char a = chars[x];
chars[x] = chars[i];
chars[i] = a;
}

}
}
for (int i = 0; i < chars.length; i++) {
System.out.print(chars[i]);
}
}
}
做這類題是首先要想要第一步要做什麼,而不是一步到位,這樣容易在編寫演算法時造成混亂,這樣就更加難以寫好一個演算法