当前位置: 首页 > news >正文

简单了解数组

数组

int[] sh;//首选方法
int sh[];//效果相同,适用于c,c++方法
int[] sh=new int[数组大小];//静态初始化
int[] x={1,34,52,37,3};//动态初始化
int[] x=new int[10];
x[0]=33;

反转数组

import java.util.Scanner;public class demo1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int[] nums = {1, 32, 43, 22, 10};int[] result = reverse(nums);for (int i : result) {System.out.print(i+" ");}sc.close();}public static int[] reverse(int[] nums) {//定义反转数组方法int[] result = new int[nums.length];int j = nums.length - 1;for (int i = 0; i < nums.length; i++) {result[j--] = nums[i];//用result数组倒着接收数字}return result;}
}
  • Arrays类

    int[] nums={2,43,23,54,239};//打印数组元素Array.toString(nums)
    System.out.println(Array.toString(nums));//对数组进行排序Array.sort(nums),按升序
    Array.sort(nums);//对数组进行填充 Array.fill(数组nums, 填充为值x);
    //Array.fill(数组nums, 起始地址a, 结束地址(不包括)b, 填充值x);

    冒泡排序(时间复杂度为O(n^2))

    import java.util.Scanner;public class demo1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);//冒泡排序,每次比较相邻的两个数,如果第一个数比第二个数大就交换他们的位置//每一次比较都产生一个最大或最小的数字在末尾//下一轮循环可以少一次排序int[] arr = {1, 4, 7, 24, 645, 75, 3};sort(arr);//调用方法进行排序for (int i : arr) {System.out.print(i + " ");}sc.close();}public static void sort(int[] arr) {for (int i = 0; i < arr.length - 1; i++) {//记录循环的次数for (int j = 0; j < arr.length - i - 1; j++) {//两两进行比较,每次循环后,比上一次少一次循环if (arr[j + 1] < arr[j]) {//arr[j+1]<arr[j]就交换它们的位置,升序排法int t = arr[j + 1];arr[j + 1] = arr[j];arr[j] = t;}}}}
    }

    稀疏数组

屏幕截图 2025-11-15 163239

其中[0]后面表示 有6行,7列,8个值

[1]~[8]后面表示 例如:[1]后面表示 第0行,第3列,有一个值为22。以此类推

import java.util.Scanner;public class demo1 {public static void main(String[] args) {Scanner sc = new Scanner(System.in);//创建原始二维数组int[][] arr = new int[5][10];arr[1][5]=4;arr[3][7]=2;arr[4][9]=10;//输出原始的数组for (int[] i : arr) {for (int j : i) {System.out.print(j+" ");}System.out.println();}//获取有效值的个数int sum=0;for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {if(arr[i][j]!=0) {sum += 1;}}}System.out.println("有效值个数为:"+sum);//创建稀疏数组,行为有效值的个数加一,列为3;int[][]arr2 = new int[sum+1][3];arr2[0][0]=5;//表示原数组有5行arr2[0][1]=10;//表示原数组有10列arr2[0][2]=sum;//表示有效值的个数//遍历原数组,将非0的值存放到稀疏数组中int count=0;for (int i = 0; i < arr.length; i++) {for (int j = 0; j < arr[i].length; j++) {if(arr[i][j]!=0) {count++;arr2[count][0]=i;//表示稀疏数组中第count行第一位置存放有效值的 行数arr2[count][1]=j;//表示稀疏数组中第count行第二个位置存放有效值的 列数arr2[count][2]=arr[i][j];//表示稀疏数组中第count行第三个存放有效值的 值}}}//打印稀疏数组for (int[] i : arr2) {for (int j : i) {System.out.print(j+" ");}System.out.println();}sc.close();}
}
/*
结果为:0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 4 0 0 0 0 
0 0 0 0 0 0 0 0 0 0 
0 0 0 0 0 0 0 2 0 0 
0 0 0 0 0 0 0 0 0 10 
有效值个数为:3
5 10 3 
1 5 4 
3 7 2 
4 9 10 */
http://www.jsqmd.com/news/41216/

相关文章:

  • 2025年目字扣订制厂家权威推荐榜单:塑料扣具/箱包插扣/五金插扣源头厂家精选
  • # 第10章 指针和结构体
  • 2025年步进式加热直饮水机订制厂家权威推荐榜单:奶茶店全自动烧水器/大型工业净水器/饭店专用开水器源头厂家精选
  • 2025 最新钢结构厂家推荐排行榜,涵盖全产业链服务与优质产能企业权威甄选钢结构建筑/钢结构房屋/钢结构屋面/钢结构网架/钢结构桁架/钢结构连廊公司推荐
  • 2025 年 11 月漆渣脱水系统,漆渣脱水机,漆渣脱水装置品牌最新推荐,产能、专利、环保三维数据透视!
  • Convex
  • 2025年全自动无屑切割倒角一体机实力厂家权威推荐榜单:自动化切割倒角一体机/切割倒角一体机/自动切割倒角一体机源头厂家精选
  • 2025 年 11 月喷漆废水处理工艺,喷漆废水处理技术改造,喷漆废水处理运维服务公司最新推荐,聚焦资质、案例、售后的五家机构深度解读
  • 2025 国内网架厂家最新推荐排行榜:聚焦钢结构 / 球形 / 螺栓球多场景,甄选技术服务双优的权威品牌指南
  • 【题解】P4707 重返现世
  • Flink Data Sink 理论 、架构、语义保证、两阶段提交与可插拔拓扑 - 指南
  • 滞留卡常题
  • 2025年推拉窗源头厂家权威推荐榜单:性价比门窗/系统窗/自建房门窗源头厂家精选
  • Cursor ai network issue workaround in Ubuntu 22.04
  • 2025 年漆渣脱水设备厂家最新推荐榜单:优质品牌厂家工艺系统装置全解析,助力企业高效环保处置漆渣脱水系统/漆渣脱水机/漆渣脱水装置厂家推荐
  • 2025 最新喷漆废水处理公司推荐!喷漆废水处理设备 / 药剂 / 工艺 / 循环回用系统优质品牌榜单,含技术改造与运维服务厂家优选
  • [KaibaMath]1024 丑陋的真子集符号⫋的由来
  • 安装Ubuntu
  • 完整教程:VScode 入门(设置篇)
  • 微服务架构中的 Token 工作机制详解
  • [KaibaMath]1023 柯西不等式的简洁证明
  • 2025 最新网架厂家权威排行榜:焊接球 / 螺栓球 / 大跨度等多类型网架实力企业最新推荐
  • WEB集群-HTTP概述与Nginx部署
  • 实战内容
  • 2025 最新无缝钢管厂家推荐榜:国际测评认证 + 技术创新 + 全场景适配权威指南
  • 【Qt开发】多元素类控件(二)-> QTableWidget - 实践
  • BBS伪随机数生成器
  • [KaibaMath]1022 一道平面几何题的两种解法
  • 实用指南:从0开始了解kafka《第二篇 kafka的安装、管理和配置》
  • 动态规划法