当前位置: 首页 > 知识库问答 >
问题:

编写排序算法对CustomInteger对象进行排序

东方俊明
2023-03-14
    null
 /**
  * @author AbduMuhaimin
  * @since 16/12/2015
  * Java Good Swap algorithm
  **/
//class CustomInteger

class CustomInteger {
    private int value;

    public CustomInteger(int i) {
        this.value = i;
    }
    public void setValue(int value) {
        this.value = value;
    }
    public int getValue() {
        return this.value;
    }

    public static void goodSwap(CustomInteger a, CustomInteger b) {
        CustomInteger z = new CustomInteger(a.getValue());
        a.setValue(b.getValue());
        b.setValue(z.getValue());
    }
    //main method
    public static void main(String[] args) {
        //before swapping
        CustomInteger a = new CustomInteger(10);
        CustomInteger b = new CustomInteger(5);
        System.out.println("Before swapping\n");
        System.out.println("Value of a: " + a.getValue() + "\n");
        System.out.println("Value of b: " + b.getValue() + "\n");

        //after swapping
        goodSwap(a,b);
        System.out.println("After swapping\n");
        System.out.println("Value of a: " + a.getValue() + "\n");
        System.out.println("Value of b: " + b.getValue() + "\n");
    }

}

共有1个答案

满耀
2023-03-14
    CustomInteger[] vec = new CustomInteger[]{new CustomInteger(5), new CustomInteger(1), new CustomInteger(2), new CustomInteger(4), new CustomInteger(5), new CustomInteger(2)};

    for (int i = 0; i < vec.length - 1; i++) {
        int min = i;
        for (int j = i + 1; j < vec.length; j++) {
            if (vec[j].getValue() < vec[min].getValue()) {
                min = j;
            }
        }
        if (min != i) {
            goodSwap(vec[i], vec[min]);
        }
    }

    for (int i = 0; i < vec.length; i++) {
        System.out.print(vec[i].getValue() + " ");
    }
 类似资料:
  • 本文向大家介绍写一个方法对对象中的key进行排序相关面试题,主要包含被问及写一个方法对对象中的key进行排序时的应答技巧和注意事项,需要的朋友参考一下

  • 我有一个班的学生有以下领域: 字段“状态”可以有2个值:1。现在,2。缺席的 然后我有一个可观察的列表: 因此,我将学生存储在这个列表中。每个学生都有出席或缺席状态。 我需要按状态对这个观察列表进行排序。我希望目前状态的学生在该列表中名列第一。 有什么建议吗? 如果有任何帮助,我将不胜感激。

  • 问题内容: 例如具有以下代码: 我如何排序此json这样- 我用ID对用户进行了排序。. 我不知道如何在javascript中执行此操作。 问题答案: 首先,这 不是 JSON。这是一个JavaScript对象文字。JSON是数据的 字符串表示 形式,它恰好非常类似于JavaScript语法。 其次,您有一个对象。他们没有排序。不能保证元素的顺序。如果要保证顺序,则 需要 使用数组。这将需要您更改

  • 本文向大家介绍PowerShell 排序:排序对象/排序,包括了PowerShell 排序:排序对象/排序的使用技巧和注意事项,需要的朋友参考一下 示例 按升序或降序对枚举进行排序 同义词: 假设: 升序排序是默认设置: 阿龙 阿龙 伯尼 查理· 丹尼 要请求降序排列: 丹尼· 查理 ·伯尼· 亚伦 ·亚伦 您可以使用表达式进行排序。 阿龙 阿龙 丹尼· 伯尼· 查理

  • 问题内容: 如何按其字段之一(例如或)对对象数组进行排序? 问题答案: 使用usort,这是从手册改编而成的示例: 您还可以将任何callable用作第二个参数。这里有些例子: 使用匿名函数(来自PHP 5.3) 从班级内部 使用箭头函数(来自PHP 7.4) 另外,如果要比较数字值,则应使用“比较”功能。

  • 本文向大家介绍编写Golang程序以使用冒泡排序对数组进行排序,包括了编写Golang程序以使用冒泡排序对数组进行排序的使用技巧和注意事项,需要的朋友参考一下 定义:冒泡排序是最简单的排序算法,通过以错误顺序重复交换相邻元素来工作。 例子 输入arr = [7、5、1、6、3] 第一次迭代=> swap(7,5)=> swap(7,1)=> swap(7,6)=> swap(7,3)=> [5,1