/**插入排序的基本思想:经过i-1遍处理后,L[1..i-1]已排好序,第i遍处理仅将L[i]插入L[1..i-1]
* 的适当位置,使得L[1..i]还是排好序的序列。具体方法用顺序比较的方法:首先比较L[i]和L[i-1],
* 如果L[i-1]<=L[i],则L[1..i]已排好序,第i遍处理就结束;否则交换L[i]与L[i-1]的位置,继续
* 比较L[i-1]和L[i-2],直到找到某一个位置j (1<=j<=j-1),使得L[j]<=L[j+1]时为止。
* 简言之,插入排序就是每一部都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部
* 插入完毕**/
import java.util.*;
public class InsertSort {
ArrayList list;
public InsertSort(int num,int mod){
list=new ArrayList(num);
Random dom=new Random();
System.out.println("排序之前的数组:");
for(int i=0;i<num;i++){
list.add(new Integer(Math.abs(dom.nextInt())%mod+1));
System.out.println("list["+i+"]="+list.get(i));
}
}
public void SortIt(){
Integer tempInt;
int MaxSize=1;
for(int i=1;i<list.size();i++){
tempInt=(Integer)list.remove(i);
if(tempInt.intValue()>=((Integer)list.get(MaxSize-1)).intValue()){
list.add(MaxSize,tempInt);
MaxSize++;
}else{
for(int j=0;j<MaxSize;j++){
if(((Integer)list.get(j)).intValue()>=tempInt.intValue()){
list.add(j,tempInt);
MaxSize++;
break;
}
}
}
}
System.out.println("排序之后的数组:");
for(int i=0;i<list.size();i++){
System.out.println("list["+i+"]"+list.get(i));
}
}
public static void main(String[] args){
InsertSort is=new InsertSort(10,100);
is.SortIt();
}
}
分享到:
相关推荐
JAVA实现插入排序,简单演示
用java实现插入排序InsertSort 用java实现插入排序InsertSort用 java实现插入排序InsertSort
使用Java实现简单的插入排序算法,提供参考思路,欢迎大家斧正。
Java实现插入排序.rar
在Java中,插入排序的实现通常涉及两个嵌套的循环。外层循环用于遍历未排序的元素,内层循环则用于在已排序序列中查找待插入元素的位置,并进行相应的元素移动和插入操作。尽管插入排序在处理大数据集时效率不高,但...
insertionSort 方法实现了插入排序算法。通过遍历数组,将当前元素与已排序部分进行比较,找到合适的位置并插入。在每次插入操作中,将比当前元素大的元素向后移动一位,最后将当前元素插入到正确的位置。
主要介绍了Java实现插入排序,实例分析了Java的插入排序原理与实现技巧,非常具有实用价值,需要的朋友可以参考下
选择排序和冒泡排序想必大家都很熟悉,但插入排序一般新手却很难理解,插入排序的Java源代码
自己写的java 插入排序算法,分享给大家,共同进步
java实现插入排序,交换排序。插入排序包括直接插入排序,折半插入排序和希尔排序。交换排序包括冒泡排序。
给初学者学习算法用,用java实现的排序算法,包括二路归并和插入排序。
该资源提供了Java中实现插入排序的全面指南。文档中涵盖了插入排序的基本概念,包括如何对数组进行排序以及如何在Java中实现插入排序。此外,文档还包括一个逐步指南,介绍了如何在Java中实现插入排序,包括详细的...
java编写的插入排序算法
直接插入排序 java实现~你值得拥有~
Java语言实现的直接插入排序算法,代码里头有详细注释,注释皆为简单英文,因为这个算法比较简单,欢迎新手下载学习使用,欢迎后期的学习交流!
自己写的插入排序,随机产生1000次,每次产生0-1000个数,验证算法正确性。java实现。
实现合并排序,插入排序,希尔排序,快速排序,冒泡排序,桶排序算法的java实现。
做了个Java Swing 图形界面,选择3中排序方法进行排序。工程用NetBeans 打开,运行Main.java文件或直接点击运行主程序,...BinSort.java(折半插入排序) QKSort.java(快速排序算法) SelectSort.java(简单选择排序)
常用三种排序:快速排序、冒泡排序、插入排序的java实现示例