首页 > 其他分享 >练习——简单的定制排序

练习——简单的定制排序

时间:2023-03-31 19:34:05浏览次数:38  
标签:arr temp int 练习 System 定制 排序 out

package com.arrays_;

import java.util.Arrays;
import java.util.Comparator;

public class ArraysSortCustom {
    public static void main(String[] args) {
        int[] arr= {1,-2, 0, 2, 32};
        bubble01(arr);
        System.out.println("排序结果");
        System.out.println(Arrays.toString(arr));

        System.out.println("=====================");

        bubble02(arr, new Comparator() {
            @Override
            public int compare(Object o1, Object o2) {
                int i1 = (Integer)o1;
                int i2 = (Integer)o2;
                return i2 - i1;
            }
        });

        System.out.println("定制排序结果");
        System.out.println(Arrays.toString(arr));
    }

    //使用冒泡完成排序
    public static void bubble01(int[] a){
        int temp = 0;
        for (int i = 0; i < a.length-1; i++) {
            for (int j = 0; j < a.length - 1 - i; j++) {
                //从小到大排序
                if (a[j] > a[j+1]){
                    temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
    }

    //结合冒泡加定制
    public static void bubble02(int[] a, Comparator c){
        int temp = 0;
        for (int i = 0; i < a.length-1; i++) {
            for (int j = 0; j < a.length - 1 - i; j++) {
                //数组排序由c.compare(a[j],a[j+1]>0)返回的值决定
                if (c.compare(a[j],a[j+1])>0){
                    temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
    }
}
//接口编程+动态绑定+匿名内部类的综合使用

标签:arr,temp,int,练习,System,定制,排序,out
From: https://www.cnblogs.com/Q1u-ovo/p/17277288.html

相关文章

  • day3 函数的定义和调用,练习编写简单的程序(记录3)
    0331.h#ifndef_0331_H#define_0331_H/********************************************************************文件名称:0331.h*功能描述:函数的定义和调用的头文件*创建作者:wenjie*创建日期:2023/03/31*************************************************************......
  • day3 函数的定义和调用,练习编写简单的程序(记录1)
    一、函数的定义可以分为以下两种:1、函数声明和函数定义分离这种方法将函数声明和函数定义分开,通常在头文件中先声明函数原型,然后在源文件中实现函数定义。例如,头文件example.h中声明了一个函数add:#ifndefEXAMPLE_H#defineEXAMPLE_Hintadd(inta,intb);//声明函......
  • A模块练习题
    mysql练习题1.查找数据库版本号mysql>selectversion();2.查找数据库列表mysql>showtables;3.查看所有用户和权限,找到可以从任意IP地址访问mysql>showgrantsforroot@localhostmysql>selectdistinctconcat('user:''',user,'''@''',......
  • ROW_NUMBER() over(partition by id order by id) as autoid 分组排序
    项目数据量小的并不能反应出问题,数据量一大的时候,就会出现各种问题。其中要用到一个思路,就是要根据某个ID来进行从1开始排序,也就是分组排序SqlServer2008:ROW_NUMBER()over(partitionby分组列名orderby排序列名)这样同分组列下,就会从1开始排。 ......
  • C语言编程练习_查找数组中不重复的数字
    题目描述:给定一个整形数组空间arr,数据中包含两个一样的数字若干,只有一个数字是单独一个。设计一个函数把这个出现一次的数字返回出来。 解决方案一:穷举法:假设arr数组中的每个元素都是重复的。也可能是不重复的(效率差)#include<stdio.h>intfun1(intarr[],intlen){  ......
  • 希尔排序
    希尔排序欢迎关注fish的公众号:fish码农成长之旅希尔排序也叫做递减增量排序算法,他是插入排序的高效改进版本。基本思想是将待排序的序列分成若干子序列分别进行插入排序,然后待整个序列基本有序的时候,再对整个序列排序。直观上看就是把数列进行分组(不停使用插入排序),直至从宏......
  • 有关归并排序-Java实现
    有关归并排序:其中的分治思想很值得参考:1/**2*归并排序块合并3*@paramnum目标的排序数组4*@paramleftIndex传入的分治块的做左端索引5*@parammid中间索引6*@paramrightIndex传入的分治块的做右端索引7*@param......
  • 陪诊小程序开发|医疗陪诊小程序|陪诊小程序定制
    信息的快速发展,人们越来越忙碌,信息的发达,所有的都智能化,代替人工,为我们提供更加便捷的生活,而另一方面也给一些老人家带来困扰。陪诊小程序的出现让陪诊工作人员一方面可以帮......
  • 插入排序
    欢迎关注fish的公众号:fish码农成长之旅插入排序的算法实现没有冒泡排序跟选择排序来的那么的直观易懂,但是其算法思想是最容易理解的。通过构建有序序列,对于未排序的序......
  • APP定制开发标准是什么?如何判断一款APP符合开发需求?
    如何判断一款APP开发的质量呢,判断标准又是怎样的呢?一、功用是否都已实现用户需求是不是都已在软件功能上进行意义匹配,是软件定制开发衡量的第一条标准。公司软件需求管理......