数据结构之选择、冒泡和插入排序

导语 1、选择排序 思想:每一趟从待排序的数据元素中选择最小(或最大)的元素,顺序放在已经排好的序列最前(或最后),直到全部待排序的数据元素排序完成。分析如下图:JAVA代码如下:public static void selec
1、选择排序

 思想:每一趟从待排序的数据元素中选择最小(或最大)的元素,顺序放在已经排好的序列最前(或最后),直到全部待排序的数据元素排序完成。分析如下图:

          \

 

JAVA代码如下:

public static void selectSort(int[] a) {
        
        for(int i=0;i<a.length-1;i++) {
            for(int j=i+1;j<a.length;j++) {
                if(a[i] < a[j]) {
                    int temp = a[i];
                    a[i] = a[j];
                    a[j] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(a));
    }

 

 

 

2、冒泡排序

思想:(1)、比较相邻的元素。如果第一个比第二个大,就交换他们两个。

   (2)、对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。

         (3)、针对所有的元素重复以上的步骤,除了最后一个。

   (4)、持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

\

JAVA代码如下:

public static void bubbleSort(int[] a) {
        
        for(int i=0;i<a.length-1;i++) {
            for(int j=0;j<a.length-i-1;j++) {
                if(a[j] < a[j+1]) {
                    int temp = a[j];
                    a[j] = a[j+1];
                    a[j+1] = temp;
                }
            }
        }
        System.out.println(Arrays.toString(a));
    }

 

3、插入排序

思想:每一步都将一个待排数据按其大小插入到已经排序的数据中的适当位置,直到全部插入完毕。

\

JAVA代码实现:

public static void insertionSort(int[] a) {
        
        for(int i=1;i<a.length;i++) {
            int temp = a[i];   //将待插入的元素保存
            int j = 0;
            for(j=i-1;j>=0;j--) {
                if(temp < a[j]) {  //待插入元素和已经排序好的元素比较
                    a[j+1] = a[j]; //将大的元素后移 
                } else {
                    break;   //说明此时前i个元素已经是有序的,即已找到插入位置
                }
            }
            a[j+1] = temp;  
        }
        System.out.println(Arrays.toString(a));
    }

http://www.aseoe.com/ true 数据结构之选择、冒泡和插入排序 http://www.aseoe.com/show-16-147-1.html report <?php echo strlen($content) / 2; ?> 1、选择排序 思想:每一趟从待排序的数据元素中选择最小(或最大)的元素,顺序放在已经排好的序列最前(或最后),直到全部待排序的数据元素排序完成。分析如下图:JAVA代码如下:public static void selec
TAG:数据结构 排序
本站欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果
转载请注明: 文章转载自:爱思资源网 http://www.aseoe.com/show-16-147-1.html

[前端插件推荐] Plugin

1 2 3 4
  • jQuery实现逐字逐句显示插件l-by-l.min.js
  • jQuery带方向感知的鼠标滑过图片边框特效插件
  • jQuery HotKeys监听键盘按下事件keydown插件
  • 响应式无限轮播jQuery旋转木马插件
响应式无限轮播jQuery旋转木马插件
web前端开发
爱思资源网 Copyright 2012-2014 Www.Aseoe.Com All rights reserved.(晋ICP备13001436号-1)