`
Super_Error
  • 浏览: 13580 次
  • 性别: Icon_minigender_1
  • 来自: 济南
最近访客 更多访客>>
社区版块
存档分类
最新评论

java实现排序

阅读更多

冒泡排序: 是运用数据值比较后,依判断规则对数据位置进行交换,以达到排序的目的

public static void bubbleSort(int[] array) {// 冒泡排序算法
     int out, in;                                          
     // 外循环记录冒泡次数                                 
     for (out = array.length - 1; out >= 1; out--) {       
         boolean flag = false;                             
         // 进行冒泡                                       
         for (in = 0; in < out; in++) {                    
             // 交换数据                                   
             if (array[in] > array[in + 1]) {              
                 swap(array, in, in + 1);                                              
             }                                             
         }                                                                                                                                          
     }                                                     
 }                                                         

选择排序: 首先在数组中查找最小值, 如果该值不在第一个位置, 那么将其和处在第一个位置的元素交换,然后从第二个位置重复

static void selectionSort(int[] array) {                
    for (int i = 0; i < array.length - 1; i++) {        
        int min_idx = i;                                
                                                        
        for (int j = i + 1; j < array.length; j++) {    
            if (array[j] < array[min_idx]) {            
                min_idx = j;                            
            }                                           
        }                                               
                                                        
        if (min_idx != i) {                             
            swap(array, min_idx, i);                    
        }                                               
                                                        
    }                                                   
}                                                       

插入排序: 是对于欲排序的元素以插入的方式寻找该元素的适当位置,以达到排序的目的。

public static void insertSort(int[] array) {// 插入排序算法                          
	        int in, out;                                                               
	        for (out = 1; out < array.length; out++) {// 外循环是给每个数据循环        
	            int temp = array[out]; // 先取出来保存到临时变量里                     
	            in = out; // in是记录插入数据之前的每个数据下标                        
	            // while内循环是找插入数据的位置,并且把该位置之后的数据(包括该位置) 
	            // 依次往后顺移。                                                      
	            while (in > 0 && array[in - 1] >= temp) {                              
	                array[in] = array[in - 1]; // 往后顺移                             
	                --in; // 继续往前搜索                                              
	            }                                                                      
	            array[in] = temp; // 该数据要插入的位置                                
	        }                                                                          
	    }                                                                              
    }                                                                                
}                                                                                    
 
分享到:
评论

相关推荐

    JAVA实现排序算法和折半查找

    包括常见的排序算法,以及折半查找,首先对要查找的数据排好序,然后用递归调用的方式实现折半查找(包括了两种实现方式)。指定一个排好序的数组和要查找的值,同时指定要查找的左边界和有边界。左右边界要位于数组...

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

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

    java实现排序,各种排序算法,冒泡排序,选择排序,插入排序等等

    java实现排序,各种排序算法,冒泡排序,选择排序,插入排序等等

    Java实现六种常用排序(含源代码)

    Java实现六种常用排序 并用多线程进行速度比较(其实意义不大) 含有代码

    Java实现排序和递归算法示例

    自己写的4个Java代码,内有详细注释,适合想学... insertion_sort.java --插入排序 Divide.java --分治排序 HanoiCompute.java --递归实现汉诺塔 FileCtrl.java --递归实现显示目录下的所有文件和文件夹

    Java实现排序算法

    冒泡排序是一种简单的排序算法,通过重复遍历数组,比较相邻元素并交换位置来实现排序。如果前一个元素大于后一个元素,它们的位置就会互换。这个过程会一直重复,直到没有更多的交换,表明数组已经排序完成。冒泡...

    java实现排序算法

    Java作为广泛应用的编程语言,提供了一种高效的方式来实现各种排序算法。本文将深入探讨七种常见的排序算法及其在Java中的实现。 1. 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法,它重复地遍历待排序的...

    java实现归并排序

    Java实现归并排序 Java 实现归并排序是一种常用的排序算法,通过分治策略将原始数组分成小组,然后对每个小组进行排序,最后将排序好的小组合并成一个有序数组。下面是 Java 实现归并排序的知识点总结: 基本思想 ...

    利用java实现排序类简单排序过程的可视化

    要求:用一个类来描述一个排序算法,类中的sort方法通过调用比较、交换方法来实现数组排序。排序类放入一个特定的包MySort中。 (1)写一个final参数类M,包括比较次数、交换次数、探测次数属性,并重写构造器和...

    Java实现排序的12种方式(1).zip_Java排序

    Java作为一种广泛使用的编程语言,提供了多种排序算法的实现,使得开发者可以根据实际需求选择最合适的排序方式。本篇文章将详细探讨Java中三种常见的排序算法:冒泡排序、希尔排序和插入排序。 ### 冒泡排序 冒泡...

    Java实现排序的12种方式(3).zip_java排序(3)_八叉树

    本资料主要探讨了Java中实现排序的12种方法,其中包括一些经典的排序算法以及基于集合的排序方式。以下是对这些排序算法的详细介绍: 1. **计数排序**:计数排序是一种非比较型排序算法,适用于整数排序。它通过...

    Java实现排序的12种方式(2).zip_Java排序(2)

    本篇文章将详细探讨Java中实现的四种排序方法:插入排序、快速排序、合并排序,这些都是经典且实用的排序算法。 一、插入排序 插入排序是一种简单直观的排序算法,它的基本思想是通过构建有序序列,对于未排序数据...

    Java实现二叉排序树

    在Java中实现二叉排序树,我们通常会定义一个`Node`类来表示树的节点,它包含键、值以及左右子节点的引用。例如: ```java class Node { int key; Object value; Node left, right; public Node(int item) { ...

    快排序的Java实现

    本篇将详细讲解如何使用Java实现快速排序。 首先,理解快速排序的步骤至关重要。快速排序的主要步骤包括: 1. **选择枢轴元素(Pivot Selection)**:在待排序的数组中选取一个元素作为枢轴,通常选择第一个或最后...

    Java实现拖拽列表项的排序功能

    总结一下,Java实现拖拽列表项的排序功能主要包括以下步骤: 1. 启用UI组件的拖放功能,如设置`AllowDrop`、`CanReorderItems`和`IsSwipeEnabled`属性。 2. 监听并处理拖放事件,更新数据模型以反映拖放操作。 3. ...

    堆排序7.java 使用java实现的堆排序

    堆排序7.java 使用java实现的堆排序堆排序7.java 使用java实现的堆排序堆排序7.java 使用java实现的堆排序堆排序7.java 使用java实现的堆排序堆排序7.java 使用java实现的堆排序堆排序7.java 使用java实现的堆排序堆...

    Java 实现ip 地址排序

    Java ip 地址排序Java ip 地址排序Java ip 地址排序Java ip 地址排序

    Java实现堆排序

    Java实现堆排序不是C,Java实现堆排序不是C,Java实现堆排序不是C,Java实现堆排序不是C

    java实现冒泡排序

    在实际编程中,Java还提供了其他的排序算法实现,如`Arrays.sort()`方法,它是基于快速排序和插入排序的混合算法,性能优于冒泡排序,适用于大多数情况。然而,理解并实现冒泡排序有助于初学者掌握排序算法的基本...

    文件按照window 的排序规则-Java实现

    在Java编程环境中,我们也可以模拟实现这种排序规则。Java提供了丰富的类库和方法来处理文件操作,包括对文件的排序。以下是关于如何在Java中实现Windows文件排序规则的详细解释: 1. **文件对象的创建**: 在Java...

Global site tag (gtag.js) - Google Analytics