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();
        }
    
    }
  • 相关阅读:
    干货 | 玩转云文件存储——利用CFS实现web应用的共享访问
    干货 | 4步带你完成私有云盘搭建
    是我们控制着技术,还是技术控制着我们?
    如何辨别开发者等级?
    云托管,边缘物理计算&托管物理计算,你所需要了解的……
    干货 | 调用AI api 实现网页文字朗读
    容器技术的未来——京东云技术专访
    隐藏的历史-是什么成就了今天的硅谷?
    ffmpeg windows下编译安装
    比较和打补丁工具
  • 原文地址:https://www.cnblogs.com/hardhp74520/p/11303706.html
Copyright © 2011-2022 走看看