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();
}
}
数组操作(进阶)
最新推荐文章于 2022-07-19 19:47:50 发布