`

用插入法进行排序

J# 
阅读更多
import java.util.*; 

class InsertSort 

{ 

ArrayList al; 

public InsertSort(int num,int mod) 

{ 

al = new ArrayList(num); 

Random rand = new Random(); 

System.out.println("The ArrayList Sort Before:"); 

for (int i=0;i<num ;i++ ) 

{ 

al.add(new Integer(Math.abs(rand.nextInt()) % mod + 1)); 

System.out.println("al["+i+"]="+al.get(i)); 

} 

} 

public void SortIt() 

{ 

Integer tempInt; 

int MaxSize=1; 

for(int i=1;i<al.size();i++) 

{ 

tempInt = (Integer)al.remove(i); 

if(tempInt.intValue()>=((Integer)al.get(MaxSize-1)).intValue()) 

{ 

al.add(MaxSize,tempInt); 

MaxSize++; 

System.out.println(al.toString()); 

} else { 

for (int j=0;j<MaxSize ;j++ ) 

{ 

if(((Integer)al.get(j)).intValue()>=tempInt.intValue()) 

{ 

al.add(j,tempInt); //将指定的元素插入此列表中的指定位置。向右移动当前位于该位置的元素(如果有)以及所有后续元素(将其索引加 1)。

MaxSize++; 

System.out.println(al.toString()); 

break; 

} 

} 

} 

} 

System.out.println("The ArrayList Sort After:"); 

for(int i=0;i<al.size();i++) 

{ 

System.out.println("al["+i+"]="+al.get(i)); 

} 

} 

public static void main(String[] args) 

{ 

InsertSort is = new InsertSort(10,100); 

is.SortIt(); 

} 

} 

 

分享到:
评论

相关推荐

    C语言插入法排序

    C语言插入法排序C语言插入法排序C语言插入法排序C语言插入法排序

    使用分治法的插入排序

    在这个场景中,我们讨论的是如何使用分治法的思想来实现插入排序,并通过C++语言进行编程实践。 ### 分治法原理 分治法是计算机科学中解决问题的一种策略,它将大问题分解为若干个规模较小、相互独立、与原问题形式...

    插入法排序过程演示程序

    在VB中实现插入法排序,通常会创建一个数组,然后遍历数组,对每个元素进行插入操作。同时,为了可视化排序过程,可以使用列表框(ListBox)控件显示排序前后的数组状态,每次插入操作后更新列表框内容,让用户直观...

    经典C语言排序算法,冒泡排序,选择排序,插入法排序.

    以下我们将详细介绍三种经典的排序算法:冒泡排序、选择排序和插入法排序。 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,依次比较相邻两个数的大小,如果他们的顺序错误...

    类插入法排序

    类的插入法排序,类的插入法排序,类的插入法排序,类的插入法排序。

    插入法排序和选择法排序

    **插入法排序(Insertion Sort)** 插入法排序是一种简单直观的排序算法,它的工作原理是通过构造一个有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。该算法在最坏的情况下,时间复杂度...

    VB基于插入法排序的例子源码.rar

     Call insert(b(), x) '调用子过程进行插入法排序  Picture1.Print x;  Picture2.Print Tab(10);  For i = 1 To n  Picture2.Print b(i); '打印数组元素  Next i  Picture2.Print  Text1 = ""  End If

    VB 插入法排序

    以下将详细介绍插入法排序的基本原理、步骤以及如何用VB进行实现。 ### 插入法排序基本原理 插入法排序的工作原理类似于我们日常整理扑克牌的过程。想象一下,你有一堆未排序的卡片,每次取一张卡片,将其插入到已...

    c++ 7 种排序.快速排序, 归并排序,插入排序,选择排序,起泡排序,堆排序,希尔排序

    7. **希尔排序**:由Donald Shell提出的改进版本的插入排序,通过设置不同的增量将待排序的序列分割成若干子序列,分别进行直接插入排序,然后逐步减小增量,直至增量为1,完成整个序列的排序。希尔排序的时间复杂度...

    直接排序法,折半插入法,希尔排序法,快速排序法(c语言实现)

    直接排序法、折半插入法、希尔排序法和快速排序法是计算机科学中常见的排序算法,它们在数据处理和算法理解上都具有重要的地位。这些排序算法的C语言实现为初学者提供了很好的学习材料,特别是在VC++6.0环境下进行...

    C语言_插入排序法和冒泡排序法

    根据给定文件的信息,本文将深入探讨C语言中的两种经典排序方法:插入排序法与冒泡排序法。这两种方法在实际编程中应用广泛,对于理解数据结构与算法的基础概念至关重要。 ### 一、冒泡排序法 #### 1.1 基本原理 ...

    各种排序 插入法排序、起泡法改进算法排序

    任务:用程序实现插入法排序、起泡法改进算法排序; 利用插入排序和冒泡法的改进算法,将用户随机输入的一列数按递增的顺序排好。 输入的数据形式为任何一个正整数,大小不限。 输出的形式:数字大小逐个递增的数列。

    java 冒泡法、选择法、插入法排序实现代码

    本主题将深入探讨Java中三种基础的排序算法:冒泡法、选择法和插入法。 1. **冒泡排序(Bubble Sort)**: 冒泡排序是一种简单直观的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就...

    直接插入排序C++代码 VS实现

    - **最好情况**:当输入数组已经是有序的,直接插入排序只需进行n-1次比较,时间复杂度为O(n)。 - **最坏情况**:输入数组完全逆序,每次插入都需要移动n-i次,总的时间复杂度为O(n^2)。 - **平均情况**:也是O(n...

    c语言 插入排序法

    c语言基本插入排序法c语言基本插入排序法c语言基本插入排序法c语言基本插入排序法

    常见经典排序算法(C语言)1希尔排序 二分插入法 直接插入法 带哨兵的直接排序法 冒泡排序 选择排序 快速排序 堆排序.docx

    常见的经典排序算法有希尔排序、二分插入法、直接插入法、带哨兵的直接排序法、冒泡排序、选择排序、快速排序、堆排序等。 一、希尔排序(Shell 排序法) 希尔排序法,又称宿小增量排序,是 1959 年由 D.L.Shell ...

    使用直接插入法对一维数组进行排序

    在编程中,我们可以用以下伪代码或实际的编程语言(例如C++、Java、Python等)来表示直接插入排序: ```python def insertion_sort(arr): for i in range(1, len(arr)): key = arr[i] j = i - 1 while j &gt;= 0 ...

    插入法对10个数排序

    本篇文章将基于给定文件的信息,深入探讨“插入法对10个数排序”的经典C语言实现及其背后的逻辑原理。 ### 插入排序:稳定且直观的排序策略 插入排序是一种简单直观的比较排序算法,其工作原理类似于人们日常生活...

    筛选法和插入法堆排序程序

    根据给定的文件信息,我们可以了解到这段代码主要实现了两种不同的堆排序方法:一种是通过插入法构建初始堆,另一种则是通过筛选法构建初始堆。接下来,我们将详细解析这两种方法的具体实现及其背后的原理。 ### 一...

    Java 冒泡法,选择法,插入法,快速排序法,实现代码。

    本主题将深入探讨四种常见的排序算法:冒泡排序、选择排序、插入排序和快速排序,这些算法在Java中都有相应的实现。下面,我们将详细讲解每种排序算法的工作原理,并给出Java代码实现。 1. 冒泡排序(Bubble Sort)...

Global site tag (gtag.js) - Google Analytics