| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 数据结构与算法 -> 菜鸟升级日记8 -> 正文阅读 |
|
[数据结构与算法]菜鸟升级日记8 |
面向对象稀疏数组本来是打算偷懒不写这个内容的,但昨天看了一下数据结构的网课,发现里面也讲了稀疏数组,所以还是把它过一遍比较好。 普通数组和稀疏数组的区别 稀疏数组的代码实现将普通数组转化为稀疏数组 1.先建立普通数组 int[][] array=new int[5][7]; array[0][2]=1; array[1][3]=2; array[2][4]=3; for(int[] row:array){ //打印出二维数组 ? ?for(int i:row){ ? ? ? ?System.out.print(i+" "); ? } ? ?System.out.println(); } 2.再建立稀疏数组 稀疏数组的第0行的三个数分别是二维数组的行、列和有效值的个数; 稀疏数组的行数是二维数组的有效值的个数加一,列数为3; 则需要遍历二维数组,找出有效值的个数。 int count=0; for(int i=0;i<5;i++){ ? ?for(int j=0;j<7;j++){ ? ? ? ?if(array[i][j]!=0){ ? ? ? ? ? ?count++; ? ? ? } ? } } int[][] sparse=new int[count+1][3]; sparse[0][0]=5; sparse[0][1]=7; sparse[0][2]=count; int sum=0; for(int i=0;i<array.length;i++){ ? ?for(int j=0;j<array[i].length;j++){ ? ? ? ?if(array[i][j]!=0){ ? ? ? ? ? ?sum++; ? ? ? ? ? ?sparse[sum][0]=i; ? ? ? ? ? ?sparse[sum][1]=j; ? ? ? ? ? ?sparse[sum][2]=array[i][j]; ? ? ? } ? } } 3.打印出稀疏数组 for(int[] num:sparse){ ? ?for(int a:num){ ? ? ? ?System.out.println(a+" "); ? } ? ?System.out.println(); } 4.将稀疏数组还原成二维数组 int[][] array2=new int[sparse[0][0]][sparse[0][1]]; for(int i=1;i<sparse.length;i++){ ? ? ? array2[sparse[i][0]][sparse[i][1]]=sparse[i][2]; } for(int[] nums:array2) { for(int b:nums) { System.out.print(b+" "); } System.out.println(); } 运行结果如下: 封装高内聚,低耦合
封装的作用
继承
方法实现重现时 方法未实现重写时 _____________________________________________________________________________ 又断更了好长时间,今天刚去学校报道完,忙了好久。 刚进寝室,就看见我的床帘塌了,不过幸运的是,没有发现发霉现象。 感觉这个学期会开始忙起来了,自己要改变的地方也很多,而且要在短时间内——坚持健身、不要过于在意别人的眼光和想法、自律等等,努力让自己再次发光吧! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 1:40:36- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |