• Java(二)


    二维数组是由一维数组组成的数组
    选择排序原理
    将数组中每一个元素与第一个元素相比较,如果这个元素小于第一个元素,则交换这两个元素
    循环第一条规则,找出最小元素,放于第一个位置
    经过n-1轮比较完成排序

    冒泡排序原理
    逐一比较数组中相邻的两个元素,如果后面的元素小于前面的元素就交换相互顺序
    经过一轮比较,一定有一个最大的排在最后的位置
    每次比较剩下的元素,经过n-1轮比较完成排序

    插入排序原理
    将数组分为两部分,将后部分的第一张逐一与前部分每一张比较,如果当前元素小,就移动被比较元素。找到合理位置插入

    1.概念:二维数组是由一维数组组成的数组


    2.语法:a.int [] [] arr=new int [2][];
    定义了二维数组的长度,但是一维数组长度没有定义,一维数组没有申请内存空间null
    b.int [] [] arr=new int [2][3];
    定义了一维数组和二维数组的长度,一维数组分配了内存空间,一维数组的长度为3,一维数组的默认值为0;
    c.二维数组也支持静态初始化
    String [] []arr={{0,1,5,},{6,5,2}}

    数组经典排序

    1.选择排序原理
    a.将数组中每个元素与第一个元素比较,如果这个元素小于第一个元素,则交换这俩个元素的位置
    b.循环第一条规则,找出最小元素,防于第一个位置
    c.经过N-1轮比较完成排序


    package paixu;

    /**
    * 选择排序
    */
    import java.util.Scanner;

    public class zy2 {
    public static void main(String[] args) {
    Scanner input = new Scanner(System.in);
    System.out.print("请输入输入数字的位数:");
    int c = input.nextInt();
    int[] a = new int[c];
    for (int i = 0; i < a.length; i++) {
    System.out.print("请输入输第" + (i + 1) + "位数字:");
    a[i] = input.nextInt();
    }
    int temp = 0;
    for (int i = 0; i < a.length; i++) {
    for (int j = i + 1; j < a.length; j++) {
    if (a[i] > a[j]) {
    temp = a[i];
    a[i] = a[j];
    a[j] = temp;
    }
    }
    }
    for (int i = 0; i < a.length; i++)
    System.out.print(a[i] + " ");
    }
    }


    2.冒泡排序原理
    a.逐一比较数组中相邻的两个元素,如果后面的元素小于前面的元素就互换
    b.经过一轮比较,一定有一个最大的排在最后的位置
    c.每一次比较剩下的元素,经过N-1次比较可以实现排序

    1 package paixu;
    2
    3 /**
    4 * 冒泡排序
    5 */
    6
    7 public class zy1 {
    8 public static void main(String[] args) {
    9 int[] sz = { 8, 6, 5, 4, 3, 1, 2 };
    10 int bl = 0;
    11 for (int i = 0; i < sz.length - 1; i++) {
    12 for (int j = 0; j < sz.length - 1 - i; j++) {
    13 if (sz[j] > sz[j + 1]) {
    14 bl = sz[j];
    15 sz[j] = sz[j + 1];
    16 sz[j + 1] = bl;
    17 }
    18 }
    19 }
    20 for (int i = 0; i < sz.length; i++) {
    21 System.out.print(sz[i] + " ");
    22 }
    23 }
    24
    25 }

    3.插入排序原理
    a.将数组分为两部分,将后部分的第一张逐一与前部分每一张比较,如果当前元素小,就移动被比较的元素
    b.找到合理位置插入

    1 package paixu;
    2
    3 /**
    4 * 插入排序
    5 */
    6 public class zy3 {
    7 public static void main(String[] args) {
    8 int[] sz = { 1, 9, 5, 2, 7, 4 };
    9 for (int i = 1; i < sz.length; i++) {
    10 int temp = sz[i];
    11 int j;
    12 for (j = i - 1; j >= 0; j--) {
    13 if (temp < sz[j]) {
    14 sz[j + 1] = sz[j];// 元素向后移动
    15 } else {
    16 break;
    17 }
    18 }
    19 sz[j + 1] = temp;// 找到合适的位值插入元素
    20 }
    21 for (int i = 0; i < sz.length; i++) {
    22 System.out.print(sz[i] + " ");
    23 }
    24 }
    25 }

  • 相关阅读:
    python学习笔记七--数据操作符
    ggplot2入门与进阶(下)
    ggplot2入门与进阶(上)
    ggplot2绘制Excel所有图
    机器学习中的数学-强大的矩阵奇异值分解(SVD)及其应用
    奇异值分解(SVD)原理详解及推导
    玩深度学习选哪块英伟达 GPU?有性价比排名还不够!
    深度学习主机攒机小记
    日志分析方法概述 & Web日志挖掘分析的方法
    python中matplotlib的颜色及线条控制
  • 原文地址:https://www.cnblogs.com/ch123456/p/6980224.html
Copyright © 2020-2023  润新知