- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.Comparator;
- import java.util.List;
- public class MyDemo {
- public static void main(String []args){
-
- ReverseArray al = new ReverseArray();
- SortArray sa = new SortArray();
- al.add(1);
- al.add(15);
- al.add(7);
- al.add(19);
- al.add(5);
- al.add(29);
- al.add(9);
- /*
- al.add(7);
- al.add(19);
- al.add(5);
- al.add(29);
- al.add(9);
- sa.add(7);
- sa.add(19);
- sa.add(5);
- sa.add(29);
- sa.add(9); */
-
- sa.add(1);
- sa.add(15);
- sa.add(7);
- sa.add(19);
- sa.add(5);
- sa.add(29);
- sa.add(9);
- System.out.println(al.toString());
- //System.out.println(al);
- al.reverse();
- System.out.println(al.toString());
-
- System.out.println(sa.toString());
- sa.sort();
- System.out.println(sa.toString());
- }
- }
- class Array {
- private int [] array = new int[10];
- private int size =0;
-
- public int getSize() {
- return size;
- }
- public void setSize(int size) {
- this.size = size;
- }
-
- public int get(int index){
- return array[index];
- }
-
- public int set(int index, int element){
- array[index] = element;
- return get(index);
- }
-
- public boolean add(int i){
- size++;
- System.out.println(size);
- if(size>10)
- array = copyArray(array);
- array[size-1] = i;
- return true;
- }
-
- private int[] copyArray(int[] array){
-
- int []array1 = new int[array.length+1];
-
- for(int i = 0; i<array.length;i++){
- array1[i] = array[i];
- }
- return array1;
- }
-
- public boolean remove(int index){
- if(index>=size)
- return false;
- else{
- int[] array1 = new int[size - 1];
- for(int i = 0, count = 0; i<size;i++){
- if(i == index)
- continue;
- array1[count++] = array[i];
- }
- array = array1;
- size--;
- return true;
- }
- }
-
- @Override
- public String toString() {
- // TODO Auto-generated method stub
- Integer [] intList = new Integer[size];
-
- for(int i = 0;i<size;i++){//注意角标越界。
- intList[i] = get(i);
- }
- List list = Arrays.asList(intList);
- return list.toString();
- }
- }
- class ReverseArray extends Array{
-
- public void reverse(){
- int size = getSize();
- int half = size>>1;
-
- for(int i =0,x=0; i< half;i++){
- x = get(i);
- set(i, get(size-1-i));
- set(size-1-i,x);
- }
- }
-
- public void sort(){
- int size = getSize();
- for(int z=0,x=0;z<size-1;z++){
- for(int y=z+1; y<size;y++){//y=z+1; 而不是1;
- if(get(z)>get(y)){
- x = get(z);
- set(z, get(y));
- set(y,x);
- }
- }
- }
- }
-
- }
- class SortArray extends Array{
- public void sort(){
- int size = getSize();
- for(int z=0,x=0;z<size-1;z++){
- for(int y=z+1; y<size;y++){
- if(get(z)>get(y)){
- x = get(z);
- set(z, get(y));
- set(y,x);
- }
- }
- }
- }
- }
复制代码 看看我的答案能否满足你的要求,请指教 |