首页 > 其他分享 >探索数组的奥秘:数据结构的重要组成部分

探索数组的奥秘:数据结构的重要组成部分

时间:2024-03-13 17:58:05浏览次数:23  
标签:int System 奥秘 数组 println new array 数据结构

一.数组的定义

1.概念

数组是一种数据结构,用于存储相同类型的元素集合。这些元素按照索引或者下标访问,索引通常从0开始递增。

2.数组的声明规则

a.int[] array = new int[5];

b.int[] array = {1, 2, 3, 4, 5};

c.int[] array = new int[]{1,2,3,4,5};

数据类型[]数组名=初值

eg:int[]array = new int[3];

    3为数组长度

ps:左边要写一个数据类型,写什么类型就代表就是什么类型的数组,声明只能是一个类型。

int[]array = new int[3];

System.out.println(array);

如果输出的话只能是内存地址

数组的存储方式

  array[0]=15;//数组的下标是从0开始的,最后一个下标就是数组长度-1

二.数组的使用

第一步  声明数组

第二步 分配内存空间

第三步  数组元素赋值

第四步  使用数组元素

三.数组的位移

方法:冒泡排序

public class Test4 {
    public static void main(String[] args) {
        int[]array = {9,3,7,6,4};
        int num = 0;
        for (int i = 0; i < array.length - 1; i++) {
            for (int j = 0; j < array.length -1-i;j++) {
                if (array[j]>array[j+1]){
                    num= array[j+1];
                    array[j+1]= array[j];
                    array[j] = num;
            }
            }
        }
        System.out.println(Arrays.toString(array));
    }
}

四.二维数组


<数据类型>[  ] [  ]数组名;或者<数据类型>数组名[  ] [  ];
方法一、int [  ] [  ] scores;

               scores=new int[5][50];

或者方法二、int [  ] [  ] scores = new int[5][50];
注意:定义二维数组时,要定义最大维数
int [  ] [  ] scores = new int[5];   正确
int[  ] [  ] scores = new int;        错误
二维数组实际上是一个以一维数组做为元素的一维数组

五.总结

●数组的作用

●数组的定义

●数组的基本使用及常用操作

●掌握数组常用操作

     ●获取最大、最小值

     ●数字排序

    ● 插入数字

六.练习

需求:今天公司招了一位开发,加入新员工的年龄,并保持升序
得出预计结果后尝试优化和调整代码编写方式
公司员年龄插入前20,25,30,31,40,45,0
请输入员工新加入员工的年龄27
公司员年龄插入后20,25,27,30,31,40,45

package FourthPractice;

import java.util.Arrays;
import java.util.Scanner;

public class Test2 {
    public static void main(String[] args) {
        int[] array = {20,25,30,31,40,45};
        int[] newarray = Arrays.copyOf(array,array.length+1);
        System.out.println("公司员年龄插入前:"+Arrays.toString(newarray));
        Scanner in = new Scanner(System.in);
        System.out.println("请输入新加入员工的年龄:");
        int age = in.nextInt();
        newarray[newarray.length-1]=age;
        Arrays.sort(newarray);
        System.out.println("公司员年龄插入后:"+Arrays.toString(newarray));
    }
}

运行结果

需求说明:
·找出随机输入的5人身高中最低的

package FourthPractice;


import java.util.Scanner;

public class Test3 {
    public static void main(String[] args) {
        int[] height = new int[5];
        for (int i = 0; i < height.length; i++) {
            Scanner in = new Scanner(System.in);
            System.out.println("请输入第" + (i + 1) + "个人的身高");
            height[i] = in.nextInt();
        }
        int a = height[0];
        for (int i = 0; i < height.length; i++) {
            if (height[i] < a) {
                a = height[i];
            }
        }
        System.out.println("5人中身高最低的是:"+a);
    }
}

运行结果

标签:int,System,奥秘,数组,println,new,array,数据结构
From: https://blog.csdn.net/Cao_shuqi/article/details/136457446

相关文章

  • 广度优先搜索(BFS)在数据结构中的应用
    广度优先搜索(BreadthFirstSearch,简称BFS)是图论中最基本的搜索算法之一,它用于遍历或搜索给定的图形结构,如树或图。与深度优先搜索(DFS)相比,BFS以广度优先的方式逐层探索节点,即它会先访问离起始节点近的所有节点,再逐步访问离起始节点远的节点。算法原理BFS算法的核心思想是使用队......
  • 深度优先搜索在树状数据结构中的应用
    深度优先搜索(DFS)是一种经典的树和图的遍历算法。它通过一条路径尽可能深地搜索树的分支,当节点v的所在边已经被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。以下是使用DFS在树状数据结构中搜索包含特定关键字的节点的一......
  • 数据结构:详解【顺序表】的实现
    1.顺序表的定义顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。动态顺序表与数组的本质区别是——根据需要动态的开辟空间大小。2.顺序表的功能动态顺序表的功能一般有如下几个:初始化顺序表打印顺序表中的数据检查顺序表的......
  • 【算法】【线性表】【数组】从中序与后序遍历序列构造二叉树
    1 题目给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。示例1:输入:inorder=[9,3,15,20,7],postorder=[9,15,7,20,3]输出:[3,9,20,null,null,15,7]示例2:输入:inor......
  • 【数据结构初阶 9】内排序
    文章目录......
  • 209. 长度最小的子数组c
    intminSubArrayLen(inttarget,int*nums,intnumsSize){intsum=nums[0],head=0,tail=0,min=INT_MAX;intt=0;for(inti=0;i<numsSize;i++){t+=nums[i];}if(t<target)return0;while(head<=tail&&tail<nums......
  • 数据结构与算法学习(01)交换函数的指针陷阱
    先看以下正确的例子 voidswap(int*px,int*py){inttemp;temp=*px;/*间接取*/*px=*py; /*间接取,间接存*/*py=temp; /*间接存*/}int main(void){inta=2,b=3;swap(&a,&b);printf("a=%d,b=%d",a,b);return......
  • 数据结构算法系列----背包问题(01,完全,多重)
    一、01背包1、01背包介绍    "01背包"是一个经典的动态规划问题。在01背包中,给定一个背包容量和一组物品,每个物品都有自己的重量和价值。问题的目标是选择一些物品放入背包中,使得放入的物品总重量不超过背包容量,同时使得放入的物品总价值最大。    "01"表......
  • 数据结构算法系列----快速幂
    一、快速幂的介绍:1、为什么要使用快速幂:   当我们计算a的n次幂时,最先想到的肯定是c中的内置函数  pow(a,n),这个内置函数虽然简单方便,但是在实际使用中这个函数的时间复杂度是o(n),因为它是将a乘n次得到的答案。  由于在n非常大时用pow()很容易超时,因此我们引入一个时......
  • 关于js数组方法sort()负数排序的陷阱
    今天在刷力扣题的时候遇到数组排序的问题,想着图个方便就使用了arr.sort(),刚开始用正数进行测试用例的时候没有出错,问题:在使用负数的测试用例时,预期目标是 [-10,-2,-1...1,2,3],结果出现了 [-1,-2,-10......1,2,3]这样的结果解析:在网上找了一下发现,sort()这个方法:默认......