给定一个只包含字母的字符串,按照先小写字母后大写字母的顺序进行排序。

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]);
}
}
}
做这类题是首先要想要第一步要做什么,而不是一步到位,这样容易在编写算法时造成混乱,这样就更加难以写好一个算法
posted @ 2020-11-28 20:38  YMNZZ  阅读(682)  评论(0)    收藏  举报