鱼C论坛

 找回密码
 立即注册
查看: 2666|回复: 0

[学习笔记] JAVA学习Day6【二维数组】

[复制链接]
发表于 2020-8-17 13:48:31 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 糖逗 于 2020-8-17 13:52 编辑

学习视频:https://www.bilibili.com/video/BV17J411G72L?p=20

108-120

  1. /*
  2. *数组的查找(1)数组中元素时无序的(2)元素是有序的
  3. */

  4. class test06_01{
  5.         public static void main(String[] args){
  6.                 //无序则顺序查找
  7.                 int[] arr = {1, 4, 3, 2};
  8.                 int value = 2;
  9.                 for(int i = 0; i < arr.length; i++){
  10.                         if(arr[i] == value){
  11.                                 System.out.println("find!");
  12.                                 break;
  13.                         }
  14.                 }
  15.                 //有序,二分查找
  16.                 int[] arr1 = {1, 3, 4, 6, 7, 9};
  17.                 int left = 0, right = arr.length - 1;
  18.                 int mid = (left + right)/2;
  19.                 while(left < right){
  20.                         if(arr[mid] == value){
  21.                                 System.out.println("找到了!");
  22.                         }else if(value > arr[mid]){
  23.                                 left = mid + 1;
  24.                         }else{
  25.                                 right = mid - 1;
  26.                         }
  27.                         mid = (left + right) / 2;
  28.                 }
  29.         }
  30. }


  31. /*
  32. *排序
  33. */


  34. class test06_02{
  35.         public static void main(String[] args){
  36.                 //冒泡排序
  37.                 int[] arr = {4, 2, 3, 5, 9};
  38.                 //相邻元素比较,不符合就交换
  39.                 for(int i = 1; i < arr.length; i++){
  40.                         for(int j = 0; j < arr.length - i; j++){
  41.                                 if(arr[j] > arr[j-1]){
  42.                                         int temp = arr[j];
  43.                                         arr[j] = arr[j-1];
  44.                                         arr[j-1] = temp;
  45.                                 }
  46.                         }
  47.                 }

  48.                 for(int i = 0; i < arr.length; i++){
  49.                         System.out.println(arr[i]);
  50.                 }
  51.                 //直接选择排序

  52.                 for(int i = 0; i < arr.length - 1; i++){
  53.                         //找出本轮未排序元素中的最小值及其下标
  54.                         int min = arr[i];
  55.                         int index = i;
  56.                         for(int j = i + 1; j < arr.length; j++){
  57.                                 if(arr[j] < min){
  58.                                         min = arr[j];
  59.                                         index = j;
  60.                                 }
  61.                         }
  62.                         //看最小值是否在它应该在的位置
  63.                         if(index != i){
  64.                                 int temp = arr[i];
  65.                                 arr[i] = arr[index];
  66.                                 arr[index] = temp;
  67.                         }
  68.                 }

  69.         }
  70. }

  71. //数组的维度
  72. class test06_03{
  73.         public static void main(String[] args){
  74.                 //静态初始化
  75.                 //(1)
  76.                 int[][] scores;
  77.                 scores = new int[][]{{23,23,43}, {23,33,22, 43}, {33,22}};
  78.                 //(2)
  79.                 int[][] score = {{23,23,43}, {23,33,22, 43}, {33,22}};
  80.                 //遍历
  81.                 for(int i = 0; i < scores.length; i++){
  82.                         for(int j = 0 ; j < scores[i].length; j++){
  83.                                 System.out.print(scores[i][j] + " ");
  84.                         }
  85.                         System.out.println();
  86.                 }
  87.                 //动态初始化
  88.                 //(1)确定行数
  89.                 int[][] arr = new int[4][];
  90.                 //(2)确定每一行的列数
  91.                 for(int i = 0; i < arr.length; i++){
  92.                         arr[i] = new int[5];
  93.                 }
  94.                 //(3)确定元素值
  95.                 for(int i = 0; i < arr.length; i++){
  96.                         for(int j = 0; j < arr[i].length; j++){
  97.                                 arr[i][j] = i + 1;
  98.                         }
  99.                 }
  100.                 //每行的列数相同可以直接
  101.                 int[][]arr1 = new int[4][5];
  102.         }
  103. }

复制代码

静态初始化存储

静态初始化存储

动态初始化存储

动态初始化存储

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 22:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表