zoukankan      html  css  js  c++  java
  • 数组的简单操作

    数组在数据结构中的作用是非常重要的,所以要学好数据结构与算法,首先就要对数组有必要的了解和熟悉。实例采用面向对象的思想,对数组进行操作。

    声明long型的数组,元素内长度为element。

    private long[] arr;
    private int element;

    1 //无参构造函数
    2 public MyArray(){
    3 arr = new long[50];
    4 }
    5 
    6 //有参构造函数
    7 public MyArray(int maxSize){
    8 arr = new long[maxSize];
    9 }
    构造函数
    1 public void insert(long value){
    2 arr[element] = value;
    3 element++;
    4 }
    基本插入操作
     1 public void insertOrder(long value){
     2 int i;
     3 for(i=0;i<element;i++){
     4 if(arr[i]>value){
     5 break;
     6 }
     7 }
     8 for(int j=element;j>i;j--){
     9 arr[j] = arr[j-1];
    10 }
    11 arr[i] = value;
    12 element++;
    13 }
    有序插入
    1 public void display(){
    2 System.out.println("[");
    3 for(int i=0; i<element;i++)
    4 {
    5 System.out.println(arr[i]+"");
    6 }
    7 System.out.println("]");
    8 
    9 }
    打印数组
     1 public int search(long value){
     2 int i;
     3 for(i=0; i<element; i++){
     4 if(value == arr[i]){
     5 break;
     6 }
     7 }
     8 if(i == element){
     9 return -1;
    10 }else
    11 return i;
    12 }
    根据值查找
    1 public long getValue(int index){
    2 if(index >= element || index < 0){
    3 throws new ArrayIndexOutOfBoundsException();
    4 }
    5 else{
    6 return arr[index];
    7 }
    8 }
    根据索引查找
     1 public int binarySearch(long value){
     2 int middle = 0;
     3 int low=0;
     4 int pow=element;
     5 while(true){
     6 middle=(pow+low)/2;
     7 if(arr[middle] == value){
     8 return middle;
     9 }else if(low>pow){
    10 return -1;
    11 }else{
    12 if(arr[middle]>value){
    13 pow = middle-1;
    14 }else{
    15 low = middle+1;
    16 }
    17 }
    18 }
    19 }
    二分法查找
     1 public void delete(int index){
     2 if(index >= element || index < 0){
     3 throws new ArrayIndexOutOfBoundsException();
     4 }else{
     5 for(int i = index; i<element; i++){
     6 arr[index] = arr[index+1]
     7 }
     8 element--;
     9 }
    10 }
    根据索引删除
    1 public void update(int index,int newData){
    2 if(index >= element || index < 0){
    3 throws new ArrayIndexOutOfBoundsException();
    4 }else{
    5 arr[index] = newData;
    6 }
    7 }
    8 }
    修改数组值
  • 相关阅读:
    由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。
    中晟银泰国际中心酒店式公寓介绍 业主交流QQ群:319843248
    社保关系转移
    在中国,大数据的有效商业模式在哪里?
    指点传媒:在手机上做“精准营销”
    说说大型高并发高负载网站的系统架构【转】
    BI的相关问题[转]
    python 中有趣的库tqdm
    python之字符串操作方法
    比Screen更好用的神器:tmux
  • 原文地址:https://www.cnblogs.com/fxust/p/4546490.html
Copyright © 2011-2022 走看看