package object_sort;
import java.util.ArrayList;
import d.Student;
/**
* 用ArrayList是实现各种排序算法
* @author 郑云飞
* @see 2010年8月14日
*/
public class Object_Sort
{
public static void main(String[] args)
{
/**********************对象数组的插入排序***********************/
ArrayList<Student>al=new ArrayList<Student>();
al.add(new Student("b",160));
al.add(new Student("a",200));
al.add(new Student("c",100));
al.add(new Student("c",120));
al.add(new Student("e",115));
for(int i=1;i<al.size();i++)
{
Student temp=al.get(i);
int in=i;//记录位置
while(al.get(in-1).name.compareTo(temp.name)>0&&in>0)//前面的比后面的大:
{
al.set(in,al.get(in-1));//前面的元素后移
in--;
}
al.set(in,temp);
}
//输出ArrayList中的内容
System.out.println("插入排序后的结果是:");
System.out.println(al);//换行
}
}
分享到:
相关推荐
在JDK 1.7版本中,ArrayList的实现已经优化,提供了`Collections.sort()`方法,它默认使用TimSort算法,这是一种结合了归并排序和插入排序的混合排序算法,既保证了稳定性,又在大部分情况下有良好的性能表现。...
在Java中,我们可以使用两种方式实现插入排序:一种是使用数组,另一种是使用ArrayList。这里以数组为例,展示插入排序的代码实现: ```java public class InsertionSort { public static void sort(int[] arr) { ...
该工具提供了多种排序算法的演示,例如插入排序、选择排序、冒泡排序、归并排序、希尔排序、快速排序等。这些算法可以帮助我们更好地理解java中的排序操作。 本文介绍了java中ArrayList的排序功能,并提供了一个...
本篇文章将深入探讨Java中实现的三种经典排序算法:快速排序、插入排序和选择排序。 首先,我们来了解**快速排序**。快速排序是由英国计算机科学家C.A.R. Hoare在1960年提出的一种效率较高的排序算法。它的核心思想...
在Java编程语言中,ArrayList是Java集合框架的重要组成部分,它属于List接口的实现类,用于存储可变大小的有序对象集合。在这个实训项目中,“Java实训之利用ArrayList实现学生管理系统”旨在帮助初学者掌握...
ArrayList提供了丰富的成员方法来操作其中的元素,如添加、删除、查找和排序等。 2. **动态添加元素** - `Add`: 使用Add方法可以在ArrayList的末尾添加一个元素。例如,`myArrayList.Add(someObject)` 将对象...
- ArrayList 实现了一个动态数组,它内部是一个 Object 类型的数组。数组提供快速的随机访问,但插入和删除操作需要移动元素。 - LinkedList 使用链表数据结构,每个元素(节点)包含一个对象引用和两个链接到相邻...
- 如果需要保持元素的排序,LinkedList 不支持快速的二分查找,而ArrayList 可以结合TreeSet或TreeMap等数据结构实现高效的排序查找。 综上所述,选择ArrayList 还是LinkedList 应根据具体应用场景的需求来决定。...
递归的使用使得代码结构清晰,但也要注意防止栈溢出,可以通过设置一个阈值,当数组长度小于这个阈值时,改用插入排序等更简单的算法。 总之,这个Java实现的快速排序演示项目不仅提供了排序算法的实现,还考虑到了...
本主题主要关注的是使用Java语言实现的一些常见的排序算法,包括冒泡排序、归并排序、快速排序、插入排序、基数排序以及希尔排序和堆排序。 1. **冒泡排序**:这是一种简单的排序算法,通过重复遍历待排序的数列,...
ArrayList、LinkList和Vector是Java中三个常用的集合类,它们都实现了List接口,但是在实现方式和性能上有所不同。 ArrayList ArrayList是使用数组方式存储数据的,数组元素数大于实际存储的数据,以便增加和插入...
《使用ArrayList实现的学生管理系统》 在Java编程领域,ArrayList是一个常用的数据结构,它属于Java集合框架的一部分,提供了动态数组的功能。本系统“学生管理系统”就是基于ArrayList类进行设计和实现的,旨在...
ArrayList是Java集合框架中的一种重要数据结构,它属于List接口的实现类,提供了动态数组的功能。ArrayList示例代码通常用于展示如何在Java程序中创建、添加、删除、修改和遍历元素。在这个Java demo中,我们可以...
常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。每种排序算法都有其优缺点,选择合适的排序算法取决于具体的应用场景。 在 Java 中,对列表进行排序的最快方法是使用Collections....
插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 为了实现这些排序算法,开发者可能使用了...
ArrayList 提供了多种方法来操作数组元素,包括添加、插入、删除、排序等。 一、优点 1. 支持自动改变大小的功能:ArrayList 可以根据需要自动调整数组的大小,避免了数组固定大小的限制。 2. 可以灵活的插入元素...
综上所述,`System.Collections.ArrayList` 提供了丰富的操作来管理动态数组,包括但不限于元素的添加、插入、删除以及排序、反转等功能。这些特性使得 `ArrayList` 成为了处理动态数据结构时的常用工具。
将ArrayList转换为DataTable是为了更好地利用DataTable的数据处理功能,例如查询、排序和绑定到控件等。 在给定的代码段中,我们看到一个名为`manList`的方法,它的主要任务是将ArrayList对象转换为DataTable对象。...
HashMap不保证元素的顺序,如果需要保持插入顺序或根据特定规则排序,应考虑使用LinkedHashMap。 ArrayList和HashMap的使用场景有所不同。ArrayList适合于需要频繁进行随机访问且元素顺序重要的情况,比如作为数据...