选择排序与插入排序及变量所在区域

原创 2018年04月17日 21:21:16
static int data2 = 0;//方法区   属于整个类    共享
public int a = 10;  //  属于对象  
public final int B = 20;//属于对象  编译期间可以确定  立即数
public static int c = 30;//方法区    
public static  final int D = 40;  //方法区 
public String str = "hello";//str   属于对象 堆
public final String STR2 = "1801";//STR2  属于对象  "1801"常量池
public static String str3 = "java";//方法区 
public static final String STR4 = "baby";//方法区 

直接插入排序

import java.util.Arrays;
public class insertSort {

    public static void main(String[] args) {
    int[] a={6,2,0,8,4,7};
    int tmp=0;
    int j;
    for(int i=0;i<a.length;i++){
        tmp=a[i];
        for(j=i-1;j>=0;j--){
            if(a[j]>tmp){
                a[j+1]=a[j];
            }else{//每次排序过后前面已经有序  找到第一个比tmp小的
                break;
            }
        }
        a[j+1]=tmp;//跳出循环后j还会减一,将tmp的值给a[j+1]
    }
    System.out.println("排序后的数组为:"+Arrays.toString(a));
    }
}

这里写图片描述

import java.util.Arrays;
public class selectSort {

    public static void main(String[] args) {
    int tmp=0;
    int[] a={6,2,0,8,4,7};
    for(int i=0;i<a.length;i++){
        int min=i;
        for(int j=i+1;j<a.length;j++){//找出未排序中最小的数
            if(a[min]>a[j]){
                tmp=a[min];
                a[min]=a[j];
                a[j]=tmp;
            }
        }
    }
    System.out.println("排序后的数组为:"+Arrays.toString(a));
    }
}

这里写图片描述

插入排序与选择排序的比较

插入排序insertsort的基本思想为每一位上的数字都与它前面的每个数字进行比较(顾名思义为把数组上的每一位数字都与其前面的数字进行比较并插入合适的位置),若前面的一个数字比它大,则交换它们两个的位...
  • qq_19782019
  • qq_19782019
  • 2017-09-18 17:36:33
  • 423

【算法】插入排序/冒泡排序/选择排序

插入排序 插入排序的思想为:从数组的第二个元素开始遍历整个数组。针对每个元素,依次将其前面的所有元素和他进行比较,大于它的元素均向后移动,最后将该元素插入。 插入排序是一种稳定的排序算法。 时间...
  • cauchyweierstrass
  • cauchyweierstrass
  • 2015-11-10 20:33:52
  • 1972

老生常谈——选择排序和插入排序

所谓的排序就是将一组对象按照某种逻辑顺序重新排列的过程.在研究排序算法时,我们需要考虑排序的成本: 需要计算比较和交换的次数.对于不交换元素的算法需要计算访问数组的次数....
  • dd864140130
  • dd864140130
  • 2016-03-10 13:43:49
  • 1640

秒懂插入排序与选择排序

插入排序原理:它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。 插入排序核心:假设第一个元素排好,之后的元素对排好的部分从后向前比较并逐一移动。 ...
  • booirror
  • booirror
  • 2015-04-28 17:50:26
  • 16634

插入排序/选择排序/交换排序/归并排序/基数排序

数据处理时一个主要需求就是排序,目前主要的内存排序(处理的数据量百万级以下)主要基于关键字大小,具体可分一下几种:1.    插入排序:直接插入排序(稳定)和希尔排序(升级版,不稳定);      直...
  • yanerhao
  • yanerhao
  • 2016-12-18 22:35:15
  • 869

基础排序总结(冒泡排序、选择排序、插入排序)

1、冒泡排序1.1、简介与原理冒泡排序算法运行起来非常慢,但在概念上它是排序算法中最简单的,因此冒泡排序算法在刚开始研究排序技术时是一个非常好的算法。冒泡排序原理即:从数组下标为0的位置开始,比较下标...
  • u013249965
  • u013249965
  • 2016-09-18 16:08:55
  • 4554

冒泡排序,选择排序,插入排序的区别

#include int swap(int *a,int *b) { int t=*a; *a=*b; *b=t; } /* 冒泡排序的原理:每次在无序队列里将相邻两个数依...
  • wdkirchhoff
  • wdkirchhoff
  • 2014-12-07 14:02:56
  • 9949

JAVA中常见的四种排序--冒泡排序、选择排序、插入排序和快速排序 详解

1、排序的介绍 排序是将一群数据,按照指定的顺序进行排列的过程。 2、排序的分类 内部排序:指将需要处理的所有数据都加载到内部存储器中进行排序。包括(交换式排序、选择排序和插入排序) 外部排序:数据量...
  • zyj0813
  • zyj0813
  • 2017-10-20 16:20:24
  • 258

归并排序,选择排序,插入排序,高效插入排序,快速排序

本文总结了插入排序,归并排序,快速排序,选择排序4种方法,思路清晰。
  • cs2539263027
  • cs2539263027
  • 2016-08-30 20:12:07
  • 842

java 快速排序 插入排序 选择排序

package 未做_快速排序_归并排序_二分查找_等排序; /* * 快速排序 * 使用递归方法 * 把数组拆分为两个子数组加上一个基准元素: * 1.选取最后一个元素作为基准元素,ind...
  • Sun_Ru
  • Sun_Ru
  • 2016-08-02 19:29:46
  • 270
收藏助手
不良信息举报
您举报文章:选择排序与插入排序及变量所在区域
举报原因:
原因补充:

(最多只允许输入30个字)