十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
可以实现比较器Comparator来定制排序方案,同时使用Colletions.sort的方式进行排序,代码如下:
创新互联建站服务项目包括莒南网站建设、莒南网站制作、莒南网页制作以及莒南网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,莒南网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到莒南省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
public void sortDesc(ListLong s){
Collections.sort(s, new ComparatorLong() {
public int compare(Long o1, Long o2) {
Long result = o2 - o1;
return result.intValue();
}
});
s.forEach(item-{
System.out.print(item +" ");
});
}
同时常用的比较排序算法主要有:冒泡排序,选择排序,插入排序,归并排序,堆排序,快速排序等。
java的冒泡排序实现如下:
public static void bubbleSort(int []arr) { for(int i =0;iarr.length-1;i++) { for(int j=0;jarr.length-i-1;j++) {//-1为了防止溢出 if(arr[j]arr[j+1]) { int temp = arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } }
还有非比较排序,时间复杂度可以达到O(n),主要有:计数排序,基数排序,桶排序等。
按照你的要求依次输入10个正整数,每输入一个整数就进行排序的Java程序如下
import java.util.Scanner;
public class J {
public static void bubblesort(int[] arr,int n){
for(int i=0;in-1;i++){
for(int j=0;jn-1-i;j++){
if(arr[j]arr[j+1]){
int temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i=0;in;i++){
System.out.print(arr[i]+" ");
}
System.out.println();
}
public static void main(String[] args) {
int a[]=new int[10];
Scanner sc=new Scanner(System.in);
for(int i=0;i10;i++){
a[i]=sc.nextInt();
bubblesort(a,i+1);
}
}
}
public static void main(String[] args) { Scanner scan = new Scanner(System.in)。
}
System.out.println("从大到小输出:");
for (int m = num.length-1; m =0; m--) {
System.out.println(num[m]);//从大到小输出
}
}
String[] str = scan.nextLine().split(" "),// 输入时以空格隔开数字。
int[] num = new int[str.length];//初始化一个整型数组,长度为你输入数字的个数。
String[] str = scan.nextLine().split(" ");// 输入时以空格隔开数字
int[] num = new int[str.length];//初始化一个整型数组,长度为你输入数字的个数
for (int i = 0; i str.length; i++) {
num[i] = Integer.parseInt(String.valueOf(str[i]));//将字符转换为int型再赋给整型数组
}
Arrays.sort(num);//升序排序
System.out.println("从小到大输出:");
for (int j = 0; j num.length; j++) {
System.out.println(num[j]);//从小到大输出
实现思路:就是输入的数字之间有固定的规则,之后读取后,依次进行大小比较,之后直到排序结束,输出结果即可:
import java.util.Scanner;
public class ArrangedNumbers {
Integer arryNum[];
int count = 0;/* 统计数字 */
boolean judgeIsNum = true;
StringBuffer stringbuffer = new StringBuffer();
Scanner scanner = new Scanner(System.in);
String character;
int memoryNum;
/**
* 任意输入字符
*
* @return 返回输入的内容
*/
// public String inputNum() {
// return null;
// }
/**
* 判断为数字
*/
public void judgmentFigures() {
while (judgeIsNum) {
System.out.println("请任意输入数字,以空格间隔,以回车结束!");
character = scanner.nextLine();
char[] figures = character.toCharArray();
for (int i = 0; i figures.length; i++) {
if (!(figures[i] = '1' figures[i] = '9')
figures[i] != 32) {
judgeIsNum = true;
break;
}
judgeIsNum = false;
}
if (!judgeIsNum)
stringbuffer.append(character);
}
String inputContent = stringbuffer.toString();
String[] numbers = inputContent.split("\\s+");
arryNum = new Integer[numbers.length];
for (int i = 0; i numbers.length; i++) {
try {
memoryNum = Integer.parseInt(numbers[i]);
arryNum[count] = new Integer(memoryNum).intValue();
count++;
} catch (Exception e) {
/* 如果不出现异常,则说明肯定是数字 */
}
}
}
/**
* 对数字进行排序
*/
public void compareNum() {
for (int i = 0; i arryNum.length; i++) {
for (int j = 0; j arryNum.length - i - 1; j++) {
if (arryNum[j] arryNum[j + 1]) {
Integer temp = arryNum[j];
arryNum[j] = arryNum[j + 1];
arryNum[j + 1] = temp;
}
}
}
}
/**
* 按升序排列输出
*/
public void outputNum() {
System.out.println("按升序排序:");
for (int i = 0; i arryNum.length; i++) {
System.out.println(arryNum[i]);
}
}
}
//package com.color.program;
public class JJArrangedNumbers {
public static void main(String args[]) {
ArrangedNumbers arrangeNumbers = new ArrangedNumbers();
arrangeNumbers.judgmentFigures();
arrangeNumbers.compareNum();
arrangeNumbers.outputNum();
}
}
--------运行结果-------
请任意输入数字,以空格间隔,以回车结束!
123 4 5 6 7 7,23
请任意输入数字,以空格间隔,以回车结束!
2 e adf 3 4
请任意输入数字,以空格间隔,以回车结束!
5 6 6 76 7
按升序排序:
5
6
6
7
76
上述公式可以修改为:=-*INT(/)。MONTH函数函