zoukankan      html  css  js  c++  java
  • 线性表(存储结构数组)--Java 实现

     1 /*线性表的数组实现
     2  *特点:插入删除慢需要平均移动一半的数据,查找较快
     3  *注意:有重复和无重复的数据对应的操作会有些不同
     4  *注意数组一旦创建其大小就固定了
     5  *Java集合长度可变是由于创建新的数组将原来旧的数据复制过去--这些附加功能牺牲了效率
     6  *主要实现以下几个功能
     7  *1.线性表查找
     8  *2.线性表删除
     9  *3.线性表的插入存储一个元素(无序数组插入)
    10  * */
    11 public class MyArray {
    12     
    13     private long[] arr;
    14     private int items;//记录数组元素个数--关键
    15     
    16     public MyArray(int max) {//max记录数组长度
    17         this.arr = new long[max];
    18         items = 0;
    19     }
    20     
    21     public int size(){
    22         return items;
    23     }
    24     //按照值查找
    25     public boolean find(long searchKey){
    26         int index = 0;
    27         for(int i = 0; i < items; i++){
    28             if(searchKey == arr[i]){
    29                 index = i;
    30                 break;
    31             }
    32         }
    33         if(index == items){
    34             return false;
    35         }
    36         else{
    37             return true;
    38         }
    39     }
    40     
    41     //存储元素
    42     public void insert(long key){
    43         arr[items] = key;
    44         items++;
    45     }
    46     
    47     //删除一个元素--按照值
    48     public boolean delete(long key){
    49         //遍历数组--先找到元素
    50         int i;
    51         for(i = 0; i < items; i++){
    52             if(key == arr[i]){
    53                 break;
    54             }
    55         }
    56         if(i== items){
    57             return false;
    58         }
    59         else{
    60             //向左边移动操作
    61             for(int k = i;k < items; k++){
    62                 arr[k] = arr[k+1];
    63             }
    64             items--;
    65             return true;
    66         }
    67     }
    68     
    69     public void displayArray(){
    70         for(int i = 0;i < items;i++){
    71             System.out.print(arr[i] + " ");
    72         }
    73         System.out.println();
    74     }
    75 }
  • 相关阅读:
    Unity之图片压缩,批量设置,导入自动设置
    Unity之可寻址资源之初始化,下载
    最优二叉树
    独立任务最优调度问题
    石子合并问题
    linux初学笔记
    码农
    用循环打印出多种三角形
    人机猜拳(这是最近的一个总结)
    期末总结
  • 原文地址:https://www.cnblogs.com/sun1993/p/7680567.html
Copyright © 2011-2022 走看看