• 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();
        }
    
    }
  • 相关阅读:
    [android] 帧布局
    [android] 表格布局和绝对布局
    使用LVS实现负载均衡原理及安装配置详解
    学习Docker之Dockerfile的命令
    使用docker-compose部署nginx
    CentOS Bash 命令补全增强软件包 bash-completion
    “三次握手,四次挥手”你真的懂吗?
    0777 0的意思
    linux文件或目录权限修改后如何恢复(备份了权限就能恢复)
    centos7进入单用户模式
  • 原文地址:https://www.cnblogs.com/hardhp74520/p/11303706.html
Copyright © 2020-2023  润新知