• Java 数据结构之数组


    public class Arrays {
        //创建一个Integer空数组
        public static Integer[] player=null;
        //添加球员号码
        private static int size=0;//初始化数组的元素个数
        static StringBuffer sb=new StringBuffer();
        public static void init(int initialCapacity){//初始容量为5的线性列表,用来存储数据
            if(initialCapacity<0){
                throw new IllegalArgumentException("容量不能为负数!");
            }
            player=new Integer[initialCapacity];
        }
        
        public static void add(Integer playNum){//为数组添加元素
            //数组扩容
            if(size==player.length){
                Integer[] temp=java.util.Arrays.copyOf(player, player.length*2);
                player=temp;
            }
            player[size]=playNum;
            size++;
        }

        private static void  replace(int indexNum,int setNum) {//根据输入的数据替换成新的数据
            int index=getIndexNum(indexNum);//根据输入的数据查看索引位置
            if(index>=0){
                player[index]=setNum;
            }
        }
        private static void indexReplace(int index, int newData) {//根据输入索引位置替换数据
            if(index<0 || index>=size){
                throw new IllegalArgumentException("超出索引位置!");
            }
            player[index]=newData;
        }
        private static int  select(int index) {//根据索引位置查找对应的数据
            if(index<0 || index>=size){
                throw new IllegalArgumentException("超出索引位置!");
            }
            if(index>size-1){
                return -1;
            }
         return player[index];
        }
        private static int getIndexNum(int indexNum) {//根据输入的数据查看索引位置
            for (int index = 0; index <size; index++) {
                if(player[index].equals(indexNum)){
                    return index;
                }
            }
            return -1;
        }
        private static void delete(int index) {//删除指定索引位置的数据
            if(index<0 || index>=size){
                throw new IllegalArgumentException("超出索引位置!");
            }
            for (int i = index; i < size-1; i++) {
                player[i]=player[i+1];
            }
            size--;
        }
        //打印数组
        public static void print(){
            if(player==null){
                System.out.println("数组为空!");
                return;
            }
            if(size==0){
                System.out.println("[ ]");
                return;
            }
            sb.append("[");
            for (int index = 0; index < size; index++) {
                sb.append(player[index]);
                if(index!=size-1){
                    sb.append(",");
                }else{
                    sb.append("]");
                }
            }
            System.out.println(sb.toString());
        }
        public static void main(String[] args) {
            init(5);
            add(11);
            add(22);
            add(33);
            add(44);
            add(55);
            add(66);
            print();
    //        int data=select(4);
    //        System.out.println(data);
    //        int num=getIndexNum(33);//查找值为33的索引位置
    //        System.out.println(num);
            //indexReplace(2,337);
            //replace(22, 66);
            //delete(3);
            //print();
        }



    }

     

  • 相关阅读:
    HDU 1203 I NEED A OFFER!(0-1背包)
    poj3624 Charm Bracelet(0-1背包 滚动数组)
    Contest1803
    2019 Multi-University Training Contest 3
    Circle and Points
    分治算法应用-最近点对的最小距离-hdu 1007 Quoit Design
    2019年第二阶段我要变强个人训练赛第十七场
    2019牛客暑期多校训练营(第四场)
    2019牛客暑期多校训练营(第三场)
    2019 Multi-University Training Contest 2
  • 原文地址:https://www.cnblogs.com/jiangxifanzhouyudu/p/6684179.html
Copyright © 2020-2023  润新知