当前位置: 首页 > 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.gsyq.cn/news/50542.html

相关文章:

  • 2025 最新钢结构厂家推荐排行榜,涵盖全产业链服务与优质产能企业权威甄选钢结构建筑/钢结构房屋/钢结构屋面/钢结构网架/钢结构桁架/钢结构连廊公司推荐
  • 2025 年 11 月漆渣脱水系统,漆渣脱水机,漆渣脱水装置品牌最新推荐,产能、专利、环保三维数据透视!
  • 2025 国内网架厂家最新推荐排行榜:聚焦钢结构 / 球形 / 螺栓球多场景,甄选技术服务双优的权威品牌指南
  • Flink Data Sink 理论 、架构、语义保证、两阶段提交与可插拔拓扑 - 指南
  • 2025年推拉窗源头厂家权威推荐榜单:性价比门窗/系统窗/自建房门窗源头厂家精选
  • 实战内容
  • [KaibaMath]1022 一道平面几何题的两种解法
  • 动态规划法
  • 函数表达式:JavaScript中那些你不知道的优雅写法 - 教程
  • 2025 最新无缝钢管优质厂家推荐:国际测评认证 + 技术创新 + 全场景适配 + 服务保障综合榜单
  • 西门子S7200_SMART仿真软件的使用(保姆级教程)
  • 天津雅思培训机构排名2025,无老师国际/新通教育等优质机构,师资/口碑/提分率大PK
  • 2025 最新无缝钢管源头厂家推荐:国际测评认证 + 技术创新 + 全场景适配 + 服务保障综合榜单
  • 2025 11 15
  • Rust RefCell 多线程读为什么也panic了?
  • 关于样式
  • Java-Spring入门指南(二十四)SSM整合HTML:克服CSS/JS静态资源被过滤问题
  • 2025 最新推荐!汽车喇叭网生产厂家权威排行榜,0.01MM 精度 + 全工艺保障,靠谱品牌甄选
  • 二维固定一维+划分 4 个象限——P12617 [RMI 2023] Circles
  • 2025年雅思培训机构哪家强?1V1定制/封闭班/机考押题班/集训营高提分机构推荐
  • 2025 最新蚀刻加工厂家口碑推荐排行榜权威发布,涵盖精密蚀刻定制与不锈钢蚀刻加工优质服务商
  • ESP-IDF V5.4 开发环境搭建教程(基于 Windows11 WSL2 )
  • idf.py如何退出串口监视器模式?
  • Tomcat的常见问题
  • 2025 最新净水器经销商推荐排行榜,精选优质服务商 涵盖直饮 / 反渗透等多类型设备直饮水净水器/过滤净水器/反渗透净水器公司推荐
  • 2025年RFID服装标签批发厂家权威推荐榜单:RFID服装吊牌标签/服装门店盘点标签/服装零售电子标签源头厂家精选
  • 2025 年木包装箱厂家最新推荐榜:木托盘、出口木箱、钢边木箱、免熏蒸包装箱优质厂家权威测评
  • 接口自动化,用例独立还是用例复用
  • 【Python3.13】官网学习之控制流
  • 人工智能之编程基础 Python 入门:第六章 基本数据类型(二)