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 }
    修改数组值
  • 相关阅读:
    为何要对URL进行编码
    关于GreenPlum的一些整理
    Greenplum入门——基础知识、安装、常用函数
    PyGreSQL入门,pg模块,pgdb模块
    MySQL Test Suite使用
    MySQL到Greenplum迁移分析
    Method overrides should not change parameter defaults
    Why use a public method in an internal class?
    Git Submodules vs Git Subtrees
    To Allow App through Windows Defender Firewall in Command Prompt
  • 原文地址:https://www.cnblogs.com/fxust/p/4546490.html
Copyright © 2011-2022 走看看