学习笔记-常见的排序算法——冒号排序(Java)

一、冒泡排序法

冒泡排序是所有排序算法中最容易理解的算法

实现思想是从待排序列中找出最大或最小值,将两个数(较大的数或较小的数)进行位置交换,从而达到一个有序的序列

为什么称为冒泡排序?

算法的名字是因为由于元素的交换慢慢的“浮”到顶端,就好像是碳酸饮料中的二氧化碳气泡最终会浮到顶端一样,故称之为冒泡排序。

实现的代码为

package demo;

public class text {

	public static void main(String[] args) {
        math second=new math();
        second.arry(a);
       for(int i=0;i<a.length;i++){
     //最后利用for循环将排序完成的数组遍历一遍
    	   System.out.print(a[i]+"");
      //输出数组
       }
      
	}
}


class math{
	public int []arry(int[]a){
		for(int i=0;i<a.length-1;i++) { 
          //遍历数组
			for(int j=0;j<a.length-i-1;j++) {
          //这里为什么要减去i呢?
          //因为当第一遍遍历的时候已经将最小或最大值放在了最后,省去不必要的操作   
				if(a[j]>a[j+1]) {
                //当第一个数大于第二个数时
					int temp=a[j];
                 //将第一个数赋值给新的变量
					a[j]=a[j+1];
                 //再将第二个数赋值给第一个变量
					a[j+1]=temp;
                 //最后再将第一次赋值的变量传递给第二个变量
                //从而实现数字的交换
				}
			}
		}
		return a;
	}
}

有不对的地方请指出,多多见谅!

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很好的问题!让我来解答。 首先,让我们来了解一下 `Comparable` 接口。这个接口是 Java 中的一个接口,它只有一个方法 `compareTo()`。这个方法的作用是定义类的自然排序顺序。 如果我们要对一个对象集合进行排序,只需要让这个类实现 `Comparable` 接口,并且重写 `compareTo()` 方法。这个方法返回一个整型值,表示该对象与另一个对象的大小关系。如果该对象小于另一个对象,则返回负整数;如果两个对象相等,则返回零;如果该对象大于另一个对象,则返回正整数。 下面是一个简单的例子,展示如何使用 `Comparable` 接口进行排序。 ```java public class Student implements Comparable<Student> { private String name; private int age; public Student(String name, int age) { this.name = name; this.age = age; } public String getName() { return name; } public int getAge() { return age; } // 重写 compareTo 方法 @Override public int compareTo(Student o) { // 按照年龄从小到大排序 return this.age - o.getAge(); } } ``` 在这个例子中,我们定义了一个 `Student` 类,并且让它实现了 `Comparable` 接口。我们重写了 `compareTo()` 方法,按照年龄从小到大排序。 现在,我们可以使用 `Collections.sort()` 方法对 `Student` 对象进行排序了: ```java List<Student> students = new ArrayList<>(); students.add(new Student("Tom", 20)); students.add(new Student("Jerry", 18)); students.add(new Student("Alice", 22)); Collections.sort(students); for (Student student : students) { System.out.println(student.getName() + " " + student.getAge()); } ``` 输出结果为: ``` Jerry 18 Tom 20 Alice 22 ``` 可以看到,我们成功地按照年龄从小到大对 `Student` 对象进行了排序。 希望这个例子能够帮助你理解如何使用 `Comparable` 接口进行排序。如果你还有其他问题,请随时提出!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值