• java数据结构和算法------线性表(顺序表结构)


     1 package iYou.neugle.list;
     2 
     3 public class MySeqList<T> {
     4     private int initMaxSize = 10;
     5     private T[] list;
     6     private int listLen = 0;
     7 
     8     public MySeqList() {
     9         this.Init();
    10     }
    11 
    12     public MySeqList(int size) {
    13         this.initMaxSize = size;
    14         this.Init();
    15     }
    16 
    17     public void Init() {
    18         this.list = (T[]) new Object[this.initMaxSize];
    19     }
    20 
    21     // 顺序表添加操作
    22     public boolean Add(T data) {
    23         if (this.listLen < this.initMaxSize) {
    24             this.list[listLen] = data;
    25             this.listLen++;
    26             System.out.println("插入成功");
    27             return true;
    28         }
    29         System.out.println("顺序表数据已满");
    30         return false;
    31     }
    32 
    33     // 顺序表插入操作
    34     public boolean Insert(int p, T data) {
    35         if (p < 0 || p > this.initMaxSize - 1) {
    36             System.out.println("插入数据位置非法");
    37             return false;
    38         }
    39         if (this.listLen == this.initMaxSize) {
    40             System.out.println("顺序表数据已满");
    41             return false;
    42         }
    43         // 容错处理
    44         if (p > this.listLen) {
    45             p = this.listLen;
    46             this.list[p] = data;
    47         } else {
    48             for (int i = this.listLen - 1; i >= p; i--) {
    49                 this.list[i + 1] = this.list[i];
    50             }
    51             this.list[p] = data;
    52         }
    53         this.listLen++;
    54         System.out.println("插入成功");
    55         return true;
    56     }
    57 
    58     // 顺序表删除操作
    59     public boolean Delete(int p) {
    60         if (p < 0 || p > this.initMaxSize - 1) {
    61             System.out.println("删除数据位置非法");
    62             return false;
    63         }
    64         for (int i = p; i <= this.listLen - 1; i++) {
    65             this.list[i] = this.list[i + 1];
    66         }
    67         this.listLen--;
    68         System.out.println("删除成功");
    69         return true;
    70     }
    71 
    72     // 顺序表按下标查找
    73     public T Get(int p) {
    74         if (p < 0 || p > this.initMaxSize - 1) {
    75             System.out.println("查找数据不存在");
    76             return null;
    77         }
    78 
    79         System.out.println("查找成功,数据为:" + this.list[p]);
    80         return this.list[p];
    81     }
    82 
    83     // 顺序表大小
    84     public int SizeOf() {
    85         return this.listLen;
    86     }
    87 
    88     public void Print() {
    89         System.out.print("[");
    90         for (int i = 0; i < this.list.length; i++) {
    91             System.out.print(this.list[i]);
    92             if (i < this.list.length - 1) {
    93                 System.out.print(",");
    94             }
    95         }
    96         System.out.println("]");
    97     }
    98 }
  • 相关阅读:
    vue学习(1)
    10.贝叶斯理论
    9.高等数学-导数
    5.6.7.8.高等数学-两个重要的极限定理
    4. 高等数学——元素和极限
    1.2.3.《万门大学-人工智能、大数据、复杂系统》课程大纲
    1.0初识机器学习
    django2+uwsgi+nginx上线部署到服务器Ubuntu16.04(最新最详细版)
    ERRORS: ?: (staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting.
    Ubuntu下MySQL报错:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
  • 原文地址:https://www.cnblogs.com/niuxiaoha/p/4629437.html
Copyright © 2020-2023  润新知