博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java实现无序数组结构
阅读量:6249 次
发布时间:2019-06-22

本文共 3393 字,大约阅读时间需要 11 分钟。

一、数组的2种定义方式

数据类型 []  数组名称 = new 数据类型[数组长度];

这里 [] 可以放在数组名称的前面,也可以放在数组名称的后面,一般放在名称的前面

数据类型 [] 数组名称 = {数组元素1,数组元素2,......}

这种方式声明数组的同时直接给定了数组的元素,数组的大小有给定的数组元素个数决定

public class ArrayStruct {    public static void main(String[] args) {//        int[] nums = new int[10];//        int nums[] = new int[10];//        nums = initArray( nums );        //        int[] nums = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };        int nums[] = { 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 };        printArray( nums );    }        public static int[] initArray( int[] arr ){        for( int i = 0; i < arr.length; i++ ){            arr[i] = i * 10;        }        return arr;    }        public static void printArray( int[] arr ){        for( int i = 0; i < arr.length; i++ ){            System.out.print( arr[i] + "\t" );        }        System.out.println();    }}

 二,实现一个自定义的数组结构,包含以下基本操作:

>插入数据

>删除数据

>查找数据

>遍历数据等

 

package com.ghostwu;class MyDefineArrayStruct {    private int[] arr;    private int curLen;    private int length;        public MyDefineArrayStruct(){        curLen = 0;        length = 30;        arr = new int[length];    }        public MyDefineArrayStruct( int _length ) {        curLen = 0;        length = _length;        arr = new int[length];    }            public int length (){        return curLen;    }        public void print(){        for( int i = 0; i < curLen; i++ ){            System.out.print( arr[i] + "\t" );        }        System.out.println( );    }        public boolean add( int _value ){        if( curLen >= length ){            return false;        }else{            arr[curLen++] = _value;        }        return true;    }        public int getItem( int _index ){        if( _index < 0 || _index > curLen ) {            System.out.println( "数组下标越界" );        }        return arr[_index];    }        public int find( int _value ){        int i;        for( i = 0; i < curLen; i++ ){            if( arr[i] == _value ){                break;            }        }        if( i == curLen ) {            return -1;        }        return i;    }        public boolean delItem( int _value ){        int res = find( _value );        if( res == -1 ) return false;        else {            if( res == curLen - 1 ) {                curLen--;            }else {                for( int i = res; i < curLen - 1; i++ ){                    arr[i] = arr[i+1];                }                curLen--;            }                    }        return true;    }        public boolean updateItem( int _oldValue, int _newValue ){        int res = find( _oldValue );        if( res == -1 ){            System.out.println( "数组中不存在" + _oldValue );            return false;        }else{            arr[res] = _newValue;            return true;        }    }    }public class SelfDefineArrayStruct {    public static void main(String[] args) {                MyDefineArrayStruct arr = new MyDefineArrayStruct( 10 );        arr.print();        arr.add( 10 );        arr.add( 20 );        arr.add( 30 );        arr.add( 40 );                        arr.add( 100 );        arr.print();        arr.delItem( 10 );        arr.print();        System.out.println( arr.length() );        arr.delItem( 20 );        System.out.println( arr.length() );        arr.updateItem( 30, 300 );        arr.updateItem( 40, 400 );        System.out.println( arr.length() );        arr.print();    }}

 

转载地址:http://bvria.baihongyu.com/

你可能感兴趣的文章
lua程序设计之协同程序
查看>>
我的友情链接
查看>>
Nginx配置SSL证书
查看>>
AskoziaPBX 安装
查看>>
Tutorial for adding a library project as git submodule and then using it as a studio Module
查看>>
crontab + mysqldump 解决每天定时自动备份MySQL数据库
查看>>
metasploit扫描vsftp服务器root权限
查看>>
bzoj 3489: A simple rmq problem
查看>>
linux的grub的背景颜色
查看>>
计算器代码
查看>>
我的友情链接
查看>>
c# Linq Where 抛出异常 导致 程序崩溃
查看>>
Excel技巧
查看>>
Windows 7无法休眠却自动关机?微软推出补丁
查看>>
优化MyEclipse编译速度慢的问题、build、project clean 慢
查看>>
我的友情链接
查看>>
RHEL6 yum配置
查看>>
Http协议状态码
查看>>
Skip List(跳跃表)原理详解与实现
查看>>
Linux报告生成器工具awk
查看>>