zoukankan      html  css  js  c++  java
  • java数据结构——数组(Array)

    数据结构+算法是我们学习道路上的重中之重,让我们一起进步,一起感受代码之美!

    /**
     * 让我们从最基本的数据结构——数组开始吧
     * 增、删、改、查、插、显示
     */
    public class Seqlist {
        private long arr[];
        private int Maxsize;
        private int elements;
    
        public Seqlist(int size) {// 构造方法
            Maxsize = size;
            arr = new long[Maxsize];
            elements = 0;
        }
    
        // 有效数据
        public void show() {
            System.out.println(elements);
        }
    
        // 增加
        public void add(int value) {
            int len = arr.length;
            if (elements == len) {
                System.out.println("表满,无法继续添加。");
                return;
            } else {
                arr[elements] = value;
            }
            elements++;
        }
    
        // 删除(输入数据)
        public void delete(int value) {
            int i;
            for (i = 0; i < elements; i++) {
                if (arr[i] == value) {
                    break;
                }
            }
            System.out.println(i);
            if (i == elements) {
                System.out.println("数据不存在");
                return;
            } else {
                for (int j = i; j < elements; j++) {
                    arr[j] = arr[j + 1];// 后面数据往前面移动
                }
            }
            elements--;
        }
    
        // 修改
        public void revise(int olddt, int newdt) {
            int i;
            for (i = 0; i < elements; i++) {
                if (arr[i] == olddt) {
                    break;
                }
            }
            arr[i] = newdt;
        }
    
        // 查找(按值查找,返回下标)
        public int index(int value) {
            for (int i = 0; i < elements; i++) {// 遍历有效数据
                if (arr[i] == value) {
                    return i;
                }
            }
            return -1;
        }
    
        // 插入
        public void insert(int key, int value) {
            if (key > ++elements || key < 0) {
                System.out.println("输入值无效");
            }
            for (int j = elements; j > key - 1; j--) {
                arr[j + 1] = arr[j];// 这句完成有效数据自加
            }
            arr[key] = value;// 赋值到输入下标位置
        }
    
        // 显示
        public void display() {
            for (int i = 0; i < elements; i++) {
                System.out.print(arr[i] + " ");
            }
            System.out.println();
        }
    
        public static void main(String[] args) {
            Seqlist s = new Seqlist(100);
            s.add(324);
            s.add(536);
            s.add(342);
            s.add(87);
    
            s.revise(324, 3);// 修改
            s.revise(536, 4);
            s.revise(342, 5);
            s.revise(87, 6);
            s.display();
            s.show();
    
            s.insert(0, 1);// 插入
            s.insert(1, 2);
            s.show();
            s.display();
        }
    
    }
  • 相关阅读:
    关于hive Metadata 使用 MsSQL
    hdp 2.06 安装备忘
    对于自我管理 ObjectContextManager的测试
    关于 Linq to EF 的内存泄漏问题
    使用过多的递归出现错误,“System.StackOverflowException”类型的未经处理的异常在 mscorlib.dll 中发生
    PowerShell 如何 远程连接【转】
    win7系统浏览器老是自动弹出网页怎么办
    win10如何深度清理C盘
    Win7电脑系统崩溃怎么解决?
    win7磁盘打不开如何解决
  • 原文地址:https://www.cnblogs.com/hardhp74520/p/11303706.html
Copyright © 2011-2022 走看看