实现方法一:
class InsertSort{
ArrayList al;
public InsertSort(int num,int mod){
al=new ArrayList(num);
Random rand=new Random();
System.out.println("需要排序的数组为:");
for(int i=0;i<num;i++){
al.add(i,new Integer((Math.abs(rand.nextInt()))%mod+1));
System.out.println("al["+i+"]="+al.get(i));
}
}
public void SortArray(){
int maxSize=1;
Integer temp;
for(int i=1;i<=al.size()-1;i++){
temp=(Integer)al.remove(i);
if(temp.intValue()>=((Integer)(al.get(maxSize-1))).intValue()){
al.add(i, temp);
maxSize++;
}else{
for(int j=0;j<al.size();j++){
if(temp.intValue()<=((Integer)(al.get(j))).intValue()){
al.add(j, temp);
maxSize++;
break;
}
}
}
}
System.out.println("排序后的数组为:");
for(int i=0;i<al.size();i++){
System.out.println("al["+i+"]="+al.get(i));
}
}
public static void main(String[] args){
InsertSort insertSort= new InsertSort(6,100);
insertSort.SortArray();
}
}
实现方法二:
class InsertSort2{
public static void main(String[] args){
int[] a={20,11,42,56,38,77};
int n=a.length;
int i,j;
int temp;
for(i=0;i<n;i++){
temp=a[i];
for(j=i;j>0 && temp<a[j-1];j--){
a[j] = a[j-1];
}
a[j]=temp;
}
for(i=0;i<n;i++){
System.out.println("a["+i+"]="+a[i]);
}
}
}
分享到:
相关推荐
在Java中实现插入排序,主要涉及数组操作和循环控制,我们可以从以下几个方面来理解这个过程。 1. **基本概念** 插入排序在实际操作中类似于打扑克牌,每拿到一张新牌(数组中的元素),就将其插入到已排序的序列...
接下来,我们将基于给定的部分代码,详细解析插入排序的Java实现。 ```java public static int[] cr(int[] arr) { for (int i = 1; i ; i++) { int tmp = arr[i]; int j = i - 1; while (tmp > arr[j]) { // ...
在Java中实现插入排序,我们可以按照以下步骤进行: 1. **基本思想**:将一个记录插入到已经排好序的有序表中,从而得到一个新的、记录数增1的有序表。可以想象成每次从无序序列中取出一个元素,找到它在有序序列中...
JAVA实现插入排序,简单演示
插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。插入排序的时间复杂度在最好情况(已排序)下...
用java实现插入排序InsertSort 用java实现插入排序InsertSort用 java实现插入排序InsertSort
本文将详细讲解插入排序的概念、原理,并提供一个Java语言的实现示例。 插入排序是一种基本的排序算法,它的工作原理类似于我们平时整理扑克牌的过程。想象一下,你有一堆未排序的牌,每次取出一张牌,将其插入到已...
在Java中实现插入排序,主要涉及以下几个关键步骤: 1. **初始化**:创建一个方法,如`public static void insertionSort(int[] arr)`,接收一个整数数组作为参数。 2. **外层循环**:遍历数组,从第二个元素...
这里我们将深入探讨两种常见的排序算法:插入排序(Insertion Sort)和归并排序(Merge Sort),它们都是在Java环境下实现的。 **插入排序**是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序...
下面我们将详细探讨Java实现的直接插入排序算法: 1. **算法步骤** - 初始化:设置一个空的有序序列,将第一个元素视为已排序。 - 遍历:从第二个元素开始遍历数组,将其称为当前元素。 - 比较:将当前元素与已...
### Java插入排序程序详解 #### 一、程序概述 本文将详细介绍一个Java实现的插入排序算法。插入排序是一种简单直观的排序方法,其工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到...
在本文中,我们将深入探讨Java编程中的三种基本排序算法:冒泡排序、插入排序和堆排序。这些排序算法是计算机科学中的基础知识,尤其对于初学者来说,理解和实现它们至关重要。我们将详细讲解每种排序算法的工作原理...
本文将详细讨论两种常见的简单排序算法:冒泡排序和直接插入排序,它们都是基于比较的内部排序算法,并且在Java语言中实现。 **冒泡排序(Bubble Sort)** 冒泡排序是一种基础的排序算法,其基本思想是通过重复...
总的来说,Java中的直接插入排序算法是一个直观易懂的排序方法,虽然在效率上不敌更高级的排序算法,但它在理解和实现上相对简单,对于初学者来说是很好的学习材料。通过阅读和实践这个源代码,你可以深入理解排序...
总结一下,Java插入排序是通过创建一个`InsertionSort`类,定义一个`sort`方法,对给定的一维整型数组进行逐个元素的比较和移动,从而达到排序的目的。这种方法直观易懂,但效率较低,适合于小规模或基本有序的数据...
在`Insert.java`文件中,插入排序的实现可能包括: - 初始化已排序部分为第一个元素,然后逐个将后续元素与已排序部分的元素比较,并在合适位置插入。 - 每次插入一个新元素,都会导致已排序部分增加一个元素。 ...
在`InsertionSort.java`文件中,应该有一个名为`insertionSort`的函数,实现插入排序的逻辑。 **测试** `test.java`文件可能是用来测试这两种排序算法的代码,它可能包含了主函数,用于创建测试数组,并调用快速...
以下是一个简单的Java插入排序算法实现: ```java public class InsertionSort { public static void insertionSort(int[] array) { for (int i = 1; i ; i++) { int key = array[i]; int j = i - 1; // 将比...
直接插入排序 java实现~你值得拥有~