//方法1:用到的是LinkedList的知识点
//方法2:用的是算法
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/**
* 描述:有一组数(43,14,6,9,3,27,38,19,5等)
* 排序:将最大的放在第一位,最小放在第二位,剩下的最大的放在第三位,最小的放在第四位,以此类推
* 输出排序结果
*/
public class SortNumber {
public static void main(String[] args) {
SortNumber sortNumber = new SortNumber();
Integer[] strs = {43,14,6,9,3,27,38,19,5};
Integer [] ints=sortNumber.sort(strs);
List<Integer> results = sortNumber.sortStrings(ints);
for(Integer result : results){
System.out.print(result + " ");
}
}
private List<Integer> sortStrings(Integer[] strs) {
List<Integer> lists = new ArrayList<Integer>();
LinkedList<Integer> results = new LinkedList<Integer>();
//strs [3, 5, 6, 9, 14, 19, 27, 38, 43]
for(Integer str : strs){
results.push(str);
//[43,38,27, 19, 14, 9, 6, 5,3]
}
while(!results.isEmpty()){
lists.add(results.pop());//这个是取首元素
Integer res = results.pollLast();//这个是去最后一个元素
if(res != null){
lists.add(res);
}
}
return lists;
}
//从小到大排序
private Integer[] sort(Integer[] strs){
int temp = 0;
for(int i = 0; i < strs.length - 1; i++){
for(int j = i + 1; j < strs.length; j++){
if(strs[i] > strs[j]){
temp = strs[i];
strs[i] = strs[j];
strs[j] = temp;
}
}
}
return strs;
}
}
//方法2:
package everyDay; import java.util.Arrays; public class SortTest { |
|
输出结果:
3 5 6 9 14 19 27 38 43 |