`
郑云飞
  • 浏览: 823305 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ArrayList 实现插入排序

阅读更多
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);//换行
	}
}

 

分享到:
评论

相关推荐

    Java ArrayList实现的快排,归并排序,堆排序

    在JDK 1.7版本中,ArrayList的实现已经优化,提供了`Collections.sort()`方法,它默认使用TimSort算法,这是一种结合了归并排序和插入排序的混合排序算法,既保证了稳定性,又在大部分情况下有良好的性能表现。...

    java-插入排序.rar

    在Java中,我们可以使用两种方式实现插入排序:一种是使用数组,另一种是使用ArrayList。这里以数组为例,展示插入排序的代码实现: ```java public class InsertionSort { public static void sort(int[] arr) { ...

    java实现ArrayList根据存储对象排序功能示例

    该工具提供了多种排序算法的演示,例如插入排序、选择排序、冒泡排序、归并排序、希尔排序、快速排序等。这些算法可以帮助我们更好地理解java中的排序操作。 本文介绍了java中ArrayList的排序功能,并提供了一个...

    Java实现简易排序

    本篇文章将深入探讨Java中实现的三种经典排序算法:快速排序、插入排序和选择排序。 首先,我们来了解**快速排序**。快速排序是由英国计算机科学家C.A.R. Hoare在1960年提出的一种效率较高的排序算法。它的核心思想...

    Java实训之利用Arraylist实现学生管理系统

    在Java编程语言中,ArrayList是Java集合框架的重要组成部分,它属于List接口的实现类,用于存储可变大小的有序对象集合。在这个实训项目中,“Java实训之利用ArrayList实现学生管理系统”旨在帮助初学者掌握...

    有关于C#的程序(ArrayList类,动态添加,删除的)

    ArrayList提供了丰富的成员方法来操作其中的元素,如添加、删除、查找和排序等。 2. **动态添加元素** - `Add`: 使用Add方法可以在ArrayList的末尾添加一个元素。例如,`myArrayList.Add(someObject)` 将对象...

    Java中ArrayList和LinkedList区别 时间复杂度 与空间复杂度1

    - ArrayList 实现了一个动态数组,它内部是一个 Object 类型的数组。数组提供快速的随机访问,但插入和删除操作需要移动元素。 - LinkedList 使用链表数据结构,每个元素(节点)包含一个对象引用和两个链接到相邻...

    java中ArrayList 、LinkList区别.doc

    - 如果需要保持元素的排序,LinkedList 不支持快速的二分查找,而ArrayList 可以结合TreeSet或TreeMap等数据结构实现高效的排序查找。 综上所述,选择ArrayList 还是LinkedList 应根据具体应用场景的需求来决定。...

    java实现快速排序演示

    递归的使用使得代码结构清晰,但也要注意防止栈溢出,可以通过设置一个阈值,当数组长度小于这个阈值时,改用插入排序等更简单的算法。 总之,这个Java实现的快速排序演示项目不仅提供了排序算法的实现,还考虑到了...

    常见排序算法(java代码实现)

    本主题主要关注的是使用Java语言实现的一些常见的排序算法,包括冒泡排序、归并排序、快速排序、插入排序、基数排序以及希尔排序和堆排序。 1. **冒泡排序**:这是一种简单的排序算法,通过重复遍历待排序的数列,...

    ArrayList LinkList和vector的区别

    ArrayList、LinkList和Vector是Java中三个常用的集合类,它们都实现了List接口,但是在实现方式和性能上有所不同。 ArrayList ArrayList是使用数组方式存储数据的,数组元素数大于实际存储的数据,以便增加和插入...

    学生管理系统(使用ArrayList)

    《使用ArrayList实现的学生管理系统》 在Java编程领域,ArrayList是一个常用的数据结构,它属于Java集合框架的一部分,提供了动态数组的功能。本系统“学生管理系统”就是基于ArrayList类进行设计和实现的,旨在...

    Arraylist例子代码 java

    ArrayList是Java集合框架中的一种重要数据结构,它属于List接口的实现类,提供了动态数组的功能。ArrayList示例代码通常用于展示如何在Java程序中创建、添加、删除、修改和遍历元素。在这个Java demo中,我们可以...

    最快的排序算法 java最快的排序-在Java中对列表进行排序的最快方法,排序算法数据结构

    常见的排序算法有冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等。每种排序算法都有其优缺点,选择合适的排序算法取决于具体的应用场景。 在 Java 中,对列表进行排序的最快方法是使用Collections....

    图形界面-排序

    插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 为了实现这些排序算法,开发者可能使用了...

    C#ArrayList的详细用法

    ArrayList 提供了多种方法来操作数组元素,包括添加、插入、删除、排序等。 一、优点 1. 支持自动改变大小的功能:ArrayList 可以根据需要自动调整数组的大小,避免了数组固定大小的限制。 2. 可以灵活的插入元素...

    ArrayList

    综上所述,`System.Collections.ArrayList` 提供了丰富的操作来管理动态数组,包括但不限于元素的添加、插入、删除以及排序、反转等功能。这些特性使得 `ArrayList` 成为了处理动态数据结构时的常用工具。

    ArrayList转化为DataTable

    将ArrayList转换为DataTable是为了更好地利用DataTable的数据处理功能,例如查询、排序和绑定到控件等。 在给定的代码段中,我们看到一个名为`manList`的方法,它的主要任务是将ArrayList对象转换为DataTable对象。...

    ArrayList,HashMap

    HashMap不保证元素的顺序,如果需要保持插入顺序或根据特定规则排序,应考虑使用LinkedHashMap。 ArrayList和HashMap的使用场景有所不同。ArrayList适合于需要频繁进行随机访问且元素顺序重要的情况,比如作为数据...

Global site tag (gtag.js) - Google Analytics