数组操作(进阶)
来源:互联网 发布:fashionphile 淘宝 编辑:程序博客网 时间:2024/05/21 15:04
class Array{ private int data[]; private int foot=0; public Array(int len){//设置数组长度 if(len>0){ this.data=new int[len]; }else{ this.data=new int[1]; } } public void inc(int num){//添加数组数据 int newdata[]=new int[this.data.length+num]; System.arraycopy(this.data, 0, newdata, 0, this.data.length); this.data=newdata; } public boolean Add(int num){//增加数组长度 if(this.foot>=this.data.length){ return false; } this.data[this.foot++]=num; return true; } public int[] getData(){//获得数组 return this.data; } public int getMax(int data[]){//获得数组最大值 int max=data[0]; for(int a=0;a<data.length;a++){ if(max<data[a]){ max=data[a]; } } return max; } public int getMin(int data[]){//获得数组最小值 int min=this.data[0]; for(int a=0;a<data.length;a++){ if(min>data[a]){ min=data[a]; } } return min; }}class Sortarray extends Array{ public Sortarray(int len) { super(len); // TODO Auto-generated constructor stub }}class ReverseArray extends Array{ public ReverseArray(int len) { super(len); // TODO Auto-generated constructor stub } public int[] getData(){//子类覆写getData倒置数组 int head=0; int tail=super.getData().length-1; int center=super.getData().length/2; for(int x=0;x<center;x++){ int temp=super.getData()[head]; super.getData()[head]=super.getData()[tail]; super.getData()[tail]=temp; head++; tail--; } return super.getData(); }}class sort extends Array{ public sort(int len) { super(len); // TODO Auto-generated constructor stub } public int[] getData(){//按大小顺序排列数组 int x[]=super.getData(); for(int a=0;a<x.length-1;a++){ for(int b=0;b<x.length-a-1;b++){ if(x[b]>x[b+1]){ int temp=x[b]; x[b]=x[b+1]; x[b+1]=temp; } } }for(int b=0;b<x.length;b++){ super.getData()[b]=x[b]; } return super.getData(); }}class sort1 extends Array{ public sort1(int len) { super(len); // TODO Auto-generated constructor stub } public int[] getData(){//从大到小排列数组 for(int x=0;x<super.getData().length-1;x++){ for(int y=0;y<super.getData().length-x-1;y++){ int temp=super.getData()[y]; if(super.getData()[y]<super.getData()[y+1]){ super.getData()[y]=super.getData()[y+1]; super.getData()[y+1]=temp; } } } return super.getData(); }}public class test { public static void main(String[] args) { sort1 arr=new sort1(5); System.out.println(arr.Add(2)); System.out.println(arr.Add(1)); System.out.println(arr.Add(3)); System.out.println(arr.Add(4)); System.out.println(arr.Add(5)); System.out.println(arr.Add(5)); arr.inc(3); System.out.println(arr.Add(8)); System.out.println(arr.Add(6)); System.out.println(arr.Add(7)); System.out.println(arr.getMax(arr.getData())); System.out.println(arr.getMin(arr.getData())); int result[]=arr.getData(); for(int x=0;x<result.length;x++){ System.out.print(result[x]+" "); } System.out.println(); }}
阅读全文
0 0
- 数组操作(进阶)
- Scala数组的基本操作,数组进阶操作,多维数组
- 数组Array的基本操作,进阶操作,多维数组
- Scala学习第五天:数组的基本操作,数组的进阶操作和多维数组
- 数组进阶
- 数组进阶-数组倒置
- 数组进阶对象数组
- PHP进阶(第一弹:数组)
- Java进阶(十八)数组(上)-认识Java数组
- PHP进阶(第七弹:数据库操作)
- java (数组操作)
- POI:javaAPI操作Excel进阶(操作样式)
- MongoDB一些进阶操作(索引,批量操作,分片)
- MongoDB一些进阶操作(索引,批量操作,分片)
- js数组进阶
- JavaScript进阶之数组
- 位操作相关题目-数组中某数字只出现了一次及多种进阶版本
- Vim 进阶操作 一
- Swing界面菜单演示
- 【资源共享】Rockchip《U-Boot 开发指南 V3.7》
- Git 基础
- Python pip安装包的问题记录
- 使聊天机器人的对话更有营养
- 数组操作(进阶)
- Struts提供的强大的HTML标签库总结
- H
- Lintcode93 Balanced Binary Tree solution 题解
- 如何去掉browserLinkSignalR功能、VS2013、VS2015
- Linux忘记 root密码的解决办法
- Datatable的值设置
- 2017 Multi-University Training Contest 1 1002. Balala Power!(贪心)
- iOS开发内购详细