用java写一个冒泡排序,封装一个学生,学生有属性,姓名,年龄,已学生年龄排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java写一个冒泡排序,封装一个学生,学生有属性,姓名,年龄,已学生年龄排序相关的知识,希望对你有一定的参考价值。

用java写一个冒泡排序,封装一个学生,学生有属性,姓名,年龄,已学生年龄排序

参考技术A 请楼主稍微看一下代码,理解一下构造方法,方法覆盖和封装,不然可能会看不懂我的代码,尽管我的代码是菜鸟级别的.

public class Test
@SuppressWarnings("null")
public static void main(String[] args)
Student[] students = new Student[4];//创建一个学生数组,以下进行初始化(了解一下构造方法)
students[0] = new Student("test1", 16);
students[1] = new Student("test2", 15);
students[2] = new Student("test3", 19);
students[3] = new Student("test4", 14);
//接下来就是进行冒泡排序了,其实和普通的冒泡排序是一样的
Student tempStudent = null;//用来做中间替换的
for (int i = 0; i < students.length; i++)
for (int j = 0; j < students.length; j++)
if (students[i].getAge()<students[j].getAge())
tempStudent = students[i];
students[i]=students[j];
students[j]=tempStudent;



for (Student student : students)
System.out.println(student);




//封装一个学生类
class 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 void setName(String name)
this.name = name;


public int getAge()
return age;


public void setAge(int age)
this.age = age;


@Override
public String toString()
return name+"\t"+age;


本回答被提问者采纳

用Java 写一个冒泡排序

冒泡排序几乎是个程序员都写得出来,但是面试的时候如何写一个逼格高的冒泡排序却不是每个人都能做到,下面提供一个参考代码:

import java.util.Comparator;
/**
* 排序器接口(策略模式: 将算法封装到具有共同接口的独立的类中使得它们可以相互替换)
*/

public interface Sorter {
	/**
	* 排序
	* @param list 待排序的数组
	*/
	public <T extends Comparable<T>> void sort(T[] list);
	/**
	* 排序
	* @param list 待排序的数组
	* @param comp 比较两个对象的比较器
	*/
	public <T> void sort(T[] list, Comparator<T> comp);
}


import java.util.Comparator;
/**
* 冒泡排序
*/
public class BubbleSorter implements Sorter {
	@Override
	public <T extends Comparable<T>> void sort(T[] list) {
		boolean swapped = true;
		for (int i = 1, len = list.length; i < len && swapped; ++i) {
			swapped = false;
				for (int j = 0; j < len - i; ++j) {
					if (list[j].compareTo(list[j + 1]) > 0) {
						T temp = list[j];
						list[j] = list[j + 1];
						
						list[j + 1] = temp;
						swapped = true;
					}
				}
			}
		}
		
		@Override
		public <T> void sort(T[] list, Comparator<T> comp) {
			boolean swapped = true;
			for (int i = 1, len = list.length; i < len && swapped; ++i) {
				swapped = false;
				for (int j = 0; j < len - i; ++j) {
					if (comp.compare(list[j], list[j + 1]) > 0) {
						T temp = list[j];
						list[j] = list[j + 1];
						list[j + 1] = temp;
						swapped = true;
					}
				}
			}
		}
	}
}

以上是关于用java写一个冒泡排序,封装一个学生,学生有属性,姓名,年龄,已学生年龄排序的主要内容,如果未能解决你的问题,请参考以下文章

用Java 写一个冒泡排序

PAT1004----冒泡排序,简单的结构体

C语言冒泡排序。

(内附抽奖)算法|排序算法-选择排序

用JAVA编写一个学生类Student的程序

6.17 复习 根据学生分数进行学生信息的 冒泡排序