`
zhaohaolin
  • 浏览: 1016265 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

插入排序算法的JAVA实现

阅读更多

package Utils.Sort;  
  
/** 
 
*插入排序,要求待排序的数组必须实现Comparable接口 
 
*/  
  
public class InsertSort implements SortStrategy  
  
{    /** 
 
       *利用插入排序算法对obj进行排序 
 
       */  
  
       public void sort(Comparable []obj)  
  
       {  if (obj == null)  
  
              {  throw new NullPointerException("The argument can not be null!");  
  
              }  
  
              /* 
 
              *对数组中的第i个元素,认为它前面的i - 1个已经排序好,然后将它插入到前面的i - 1个元素中 
 
              */  
  
              int size = 1;  
  
              while (size < obj.length)  
  
              {  insert(obj, size++, obj[size - 1]);  
  
              }        }  
  
       /** 
 
       *在已经排序好的数组中插入一个元素,使插入后的数组仍然有序 
 
       *@param obj 已经排序好的数组 
 
       *@param size 已经排序好的数组的大小 
 
       *@param c 待插入的元素 
 
       */  
  
       private void insert(Comparable []obj, int size, Comparable c)  
  
       { for (int i = 0 ;i < size ;i++ )  
  
              {  if (c.compareTo(obj[i]) < 0)  
  
                     { System.out.println(obj[i]);  
  
                            //如果待插入的元素小于当前元素,则把当前元素后面的元素依次后移一位  
  
                            for (int j = size ;j > i ;j-- )  
  
                            { obj[j] = obj[j - 1];  
  
                            }  
  
                            obj[i] = c;  
  
                            break;  
  
                     } 
              }
        }
 }
 
分享到:
评论

相关推荐

    插入排序法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代码实现

    本文将详细讲解插入排序的概念、原理,并提供一个Java语言的实现示例。 插入排序是一种基本的排序算法,它的工作原理类似于我们平时整理扑克牌的过程。想象一下,你有一堆未排序的牌,每次取出一张牌,将其插入到已...

    java实现插入排序

    下面是基于Java的插入排序算法实现: ```java public class InsertSort { public static void insertSort(int[] arr) { int n = arr.length; for (int i = 1; i ; i++) { // 将arr[i]插入到已排序的子数组arr...

    插入排序算法java代码

    插入排序算法java代码,望对大家有帮助

    插入排序Java代码

    接下来,我们将基于给定的部分代码,详细解析插入排序的Java实现。 ```java public static int[] cr(int[] arr) { for (int i = 1; i ; i++) { int tmp = arr[i]; int j = i - 1; while (tmp &gt; arr[j]) { // ...

    常用排序算法的java实现(冒泡、插入、选择、希尔、归并、快排)

    本篇文章将详细讲解标题中提到的六种常见排序算法的Java实现。 1. **冒泡排序**:冒泡排序是最基础的排序算法之一,它通过不断交换相邻的逆序元素来逐渐将较大的元素“浮”到数组的前端。在Java中,冒泡排序的基本...

    各种排序算法比较(java实现)

    `Algorithm.java`文件可能包含了这些排序算法的Java实现代码,而`常见排序算法的实现与性能比较.doc`文档则可能详细比较了这些算法的性能和适用场景。`readme.txt`文件可能是对整个项目的简要说明,包括如何运行和...

    插入排序 java实现

    这个程序可以用于验证插入排序算法的正确性。由于插入排序的时间复杂度在最坏情况下为O(n^2),对于大数据量的排序,效率较低。但在数据部分有序或者小规模数据排序时,插入排序有较好的表现。 此外,插入排序是八大...

    Java直接插入排序算法源码

    总的来说,Java中的直接插入排序算法是一个直观易懂的排序方法,虽然在效率上不敌更高级的排序算法,但它在理解和实现上相对简单,对于初学者来说是很好的学习材料。通过阅读和实践这个源代码,你可以深入理解排序...

    各种排序算法java实现

    在提供的文件中,我们可以看到有四种经典的排序算法的Java实现:插入排序、冒泡排序、选择排序以及希尔排序。 **插入排序**: 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据...

    java编写的插入排序算法

    ### Java编写的插入排序算法 #### 一、插入排序算法基本思想 插入排序是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在...

    JAVA实现插入排序

    JAVA实现插入排序,简单演示

    插入排序的Java实现方法InsertSort

    插入排序的Java实现方法InsertSort,简单易懂,适合算法初学者。

    插入排序算法的 java实现

    下面,我们将详细探讨插入排序算法的实现原理及其Java代码实现。 插入排序的基本思想是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。它分为两个阶段:第一阶段是构建初始...

    内部排序算法java实现

    这里我们将深入探讨Java实现的几种内部排序算法,包括希尔排序、快速排序、堆排序、归并排序、冒泡排序、插入排序和选择排序。 首先,希尔排序是一种基于插入排序的算法,通过将原始数组分解成多个子序列来提高效率...

    Java实现插入排序

    这段代码首先定义了一个`sort`方法,它接受一个整型数组作为参数,然后使用插入排序算法对其进行排序。`main`方法中创建了一个未排序的数组并调用`sort`方法进行排序,最后打印排序前后的数组以验证结果。 5. **...

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

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

    插入排序的java实现.docx

    在Java中,插入排序可以通过两种主要方式实现:直接法和递归法。 ### 直接法实现插入排序 直接法的插入排序在Java中通过一个辅助数组`a1`来完成。首先,将原始数组`a`的第一个元素复制到辅助数组`a1`的第一个位置。...

Global site tag (gtag.js) - Google Analytics