「java升序排序」java降序排序
今天给各位分享java升序排序的知识,其中也会对java降序排序进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java 数组升序排列
- 2、java升序排序
- 3、Java中对数组升序排列用Arrays.sort( )方法,那降序排列用什么方法?
- 4、java里升序和降序最简短的代码分别是什么?
- 5、java中排序方法有哪些
java 数组升序排列
public static void main(String args[])
{
try
{
int i, sum=0;
FileWriter f_out=new FileWriter("data.txt");
System.out.println("请输入学生的个数");
int n=new Scanner(System.in).nextInt();
int s[]=new int [n];
for( i=0;in;i++)
{
System.out.println("请输入第"+(i+1)+"个学生的成绩");
s[i]=new Scanner(System.in).nextInt();
if (s[i]0||s[i]100)
{
System.out.println("输入错误,请重新输入");
s[i]=new Scanner(System.in).nextInt();
}
}
Arrays.sort(s);
for(int j=0;jn;j++){
f_out.write(s[j]+"\n");
}
f_out.close();
FileReader f_in=new FileReader("data.txt");
for(int c=f_in.read();c!=-1;c=f_in.read())
System.out.print((char)c+" ");
f_in.close();
}
catch(IOException e)
{
System.err.println(e);
e.printStackTrace();
}
}
这样应该就好了。
java升序排序
public class SortNumString {//定义SortNumString方法 public static String[] sortNumStr(String numStr){// 定义一个String[](数组)为返回值的类并且带参数(String numStr) if(numStr==null||numStr.trim().equals(""))//if判断如果numStr为空值 return null; //就返回(return)空(null) StringTokenizer mToken = new StringTokenizer(numStr);//定义变量 String[] result = new String[mToken.countTokens()];//实例化变量把它赋给一个数组 int i = 0;//定义i while(mToken.hasMoreTokens()){ //进行while循环 result[i] = mToken.nextToken();//从i即0开始从数组取值 i++;//每取出一个值就自增+1取下个值 } return result;//返回这组值 } public static void main(String[] args){//主方法 String[] s = sortNumStr("99 345 8 888 55 0 -9999 30");//为这个数组赋值 int[] ii = new int[s.length];//定义数组ii规定长度为String[] result数组的个数 for(int i = 0;iii.length;i++ ){//进行for循环 定义i,并且i小于int[] ii数组的长度,每循环一次自增一次i++ ii[i] = Integer.parseInt(s[i]); //为int[]赋值并强转为Integer类型 } Arrays.sort(ii);//对指定的数进行排序 //ASC for(int i = 0; i ii.length;i++){//循环输出int[] ii数组的值 if (i 0) {//如果i0 System.out.print(" ");//则输出“ ” } System.out.print(ii[i]);//否则输出int[] ii数组的值 } /* //DESC for(int i = s.length -1;i=0;i--){ if (i s.length-1) { System.out.print(" "); } System.out.print(ii[i]); }*/ } }
Java中对数组升序排列用Arrays.sort( )方法,那降序排列用什么方法?
Arrays.sort( )方法一个参数默认是升序排列,你要降序排列第一种方法调用重载的2个参数的Arrays.sort( T[]a,Comaparator c)才行,第二个参数需要自定义一个比较器类实现Comaparator接口,根据需要重新compare方法。
第二种方法先进行升序排列,再调用Arrays的asList方法转换成数组,然后调用Collections的reverse方法倒序排列,最后调用Collection的toArray方法转换成数组。
java里升序和降序最简短的代码分别是什么?
直接调用jdk里面的方法Arrays.sort(args)方法。而且这个方法重载实现了多个参数,排序下标[N~M]位数字~倒叙,升序等等~
for (int i = 0; i list.size(); i++) {
for (int j = i + 1; j list.size(); j++) {
if (list.get(i) list.get(j)) {
int temp = list.get(i);
list.set(i, list.get(j));
list.set(j, temp);
}
}
}
System.out.println("升序:" + list);
for (int i = 0; i list.size(); i++) {
for (int j = i + 1; j list.size(); j++) {
if (list.get(i) list.get(j)) {
int temp = list.get(i);
list.set(i, list.get(j));
list.set(j, temp);
}
}
}
System.out.println("降序:" + list);
java中排序方法有哪些
1、直接插入排序:最基本的插入排序,将第i个插入到前i-1个中的适当位置。
2、折半插入排序:因为是已经确定了前部分是有序序列,所以在查找插入位置的时候可以用折半查找的方法进行查找,提高效率。
3、 希尔排序: 又称缩小增量排序法。把待排序序列分成若干较小的子序列,然后逐个使用直接插入排序法排序,最后再对一个较为有序的序列进行一次排序,主要是为了减少移动的次数,提高效率。原理应该就是从无序到渐渐有序,要比直接从无序到有序移动的次数会少一些。
4、 冒泡排序:反复扫描待排序序列,在扫描的过程中顺次比较相邻的两个元素的大小,若逆序就交换位置。第一趟,从第一个数据开始,比较相邻的两个数据,(以升序为例)如果大就交换,得到一个最大数据在末尾;然后进行第二趟,只扫描前n-1个元素,得到次大的放在倒数第二位。以此类推,最后得到升序序列。如果在扫描过程中,发现没有交换,说明已经排好序列,直接终止扫描。所以最多进行n-1趟扫描。
5、快速排序: 思想:冒泡排序一次只能消除一个逆序,为了能一次消除多个逆序,采用快速排序。以一个关键字为轴,从左从右依次与其进行对比,然后交换,第一趟结束后,可以把序列分为两个子序列,然后再分段进行快速排序,达到高效。
此外还有选择、归并、分配排序等等及它们的子类排序
java升序排序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java降序排序、java升序排序的信息别忘了在本站进行查找喔。
发布于:2022-12-01,除非注明,否则均为
原创文章,转载请注明出处。