奇数位按升序排序,偶数位按降序排序
来源:互联网 发布:国外对网络直播的研究 编辑:程序博客网 时间:2024/06/11 13:51
import java.util.Scanner;public class Main{public static void main(String[] args){Scanner scan = new Scanner(System.in);while(scan.hasNext()){String str = scan.nextLine();sort(str);}scan.close();}private static void sort(String str){//去掉空格,保存数字int str_length = str.length();StringBuilder sb = new StringBuilder();for(int i = 0 ; i < str_length ; i++){if(str.charAt(i) != ' '){sb.append(str.charAt(i));}}char[] num = sb.toString().toCharArray();int length = num.length;int part_length = length / 2;//保存一半数字,按照奇数偶数保存char[] odd;char[] even;//偶数个数字if(length % 2 == 0){odd = new char[part_length]; even = new char[part_length];}else{//奇数个数字,多一个奇数odd = new char[part_length + 1];even = new char[part_length];}int index_odd = 0;int index_even = 0;for(int i = 0 ; i < length ; i++){if(i % 2 == 0){odd[index_odd++] = num[i];}else{even[index_even++] = num[i];}} ascendingSort(odd);//奇数位升序descendingSort(even);//偶数位降序for(int i = 0 ; i < index_even ; i++){if(i == 0) System.out.print(odd[i] + " " + even[i]);else System.out.print(" " + odd[i] + " " + even[i]);}if(index_odd != index_even){System.out.println(" " +odd[index_odd - 1]);}}private static void ascendingSort(char[] data){int length = data.length;char temp = '*';for(int i = 0 ; i < length - 1 ; i++){for(int j = i + 1 ; j < length ; j++){if(data[i] > data[j]){temp = data[i];data[i] = data[j];data[j] = temp;}}}}private static void descendingSort(char[] data){int length = data.length;char temp = '*';for(int i = 0 ; i < length - 1 ; i++){for(int j = i + 1 ; j < length ; j++){if(data[i] < data[j]){temp = data[i];data[i] = data[j];data[j] = temp;}}}} }
0 0
- 奇数位按升序排序,偶数位按降序排序
- 华为机试题之二:输入一串用空格隔开的数字串,对于数字串的奇数位按升序排序,偶数位按降序排序.
- perl hash 按值排序 升序 降序
- 数组插入元素按降序/升序排序
- OC中按姓名,年龄,身高升序,降序排序
- 在block按学号的升序和降序排列;按姓名的升序和降序排序,按年龄的升序和降序排列
- 判断一个数是奇数还是偶数【按位与】
- 排序问题,升序和降序
- 排序升序降序样式+传值
- 数组------奇数偶数排序
- 奇数位上都是奇数偶数位上都是偶数
- 二进制的偶数位与奇数位
- 使用Directory.GetFiles,如何按文件名,扩展名,创建时间分别进行升序或降序排序
- 冒泡排序(包括升序和降序)
- 算法之直接插入排序降序,升序
- Java冒泡排序(升序和降序)
- Java选择排序(升序和降序)
- 快速排序:升序+降序----java实现
- tyvj模拟赛
- Codeforces Problem 712A Memory and Crow(公式推导)
- 读取项目中文件的内容
- vs2013 调用大漠插件
- 好友推荐
- 奇数位按升序排序,偶数位按降序排序
- java多线程:中断
- MapReduce相关编程笔记
- linux与windows的文件共享
- KIE Drools6.4.0.Final tomcat7的安装启动报错
- 安卓6.0权限适配(1)
- 关于IPC之AIDL的练习
- HDU 5876 Sparase Graph(补图上的bfs)
- GROUP BY,WHERE,HAVING之间的区别和用法