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

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));
    }
}

这里写图片描述

猜你喜欢

转载自blog.csdn.net/mars1997/article/details/79979160