Java数据结构与算法《一》数组
来源:互联网 发布:我叫阿里木电影百度云 编辑:程序博客网 时间:2024/05/15 00:34
面向对象实现数组
使用自定义类来封装数组,添加对数组的操作
public class MyArray{ private long[] arr; private int elements;//表示有效数据的长度 public MyArray(){ arr = new long[50]; } public MyArray(int maxSize){ arr = new long[maxSize]; } //添加数据 public void insert(long value){ arr[elements] = value; elements++; } //显示数据 public void display(){ System.out.println("["); for(int i=0;i<elements;i++){ System.out.print(arr[i]+","); } System.out.print("]"); } //查找数据 public int search(long value){ int i; for(i=0;i<elements;i++){ if(value == arr[i]){ break; } } if(i== elements){ return -1; } else{ return i; } } //查找数据 根据索引来查 public long get(int value){ if(index>=elements||index<0){ throw new ArrayIndexOutOfBoundsException(); }else{ return arr[index]; } } //删除数据 public void delete(int index){ if(index>=elements||index<0){ throw new ArrayIndexOutOfBoundsException(); }else{ for(int i=index ;i<elements;i++){ arr[index]=arr[index+1]; } elements--; } } //更新数据 public void change(int index, int newvalue){ if(index>=elements||index<0){ throw new ArrayIndexOutOfBoundsException(); }else{ arr[index] =newvalue; } }}
有序数组
public class MyOrderArray{ private long[] arr; private int elements;//表示有效数据的长度 public MyOrderArray(){ arr = new long[50]; } public MyOrderArray(int maxSize){ arr = new long[maxSize]; } //添加数据 public void insert(long value){ int i; for(i=0;i<elements;i++){ if(arr[i]>value){ break; } } for(int j=elements;j>i;j--){ arr[j]=arr[j-1]; } arr[j]=value; elements++; } //显示数据 public void display(){ System.out.println("["); for(int i=0;i<elements;i++){ System.out.print(arr[i]+","); } System.out.println("]"); } //查找数据 public int search(long value){ int i; for(i=0;i<elements;i++){ if(value==arr[i]){ break; } } if(i==elements){ return -1; }else{ return i; } } //二分法查找数据 public int binaySearch(long value){ int middle=0; int low=0; int pow=elements; while(true){ middle=(pow+low)/2; if(arr[middle]==value){ return middle; }else if(low>pow){ return -1; }else{ if(arr[middle]>value){ pow =middle-1; }else{ low =middle+1; } } } } //查找数据 根据索引 public long get(int index){ if(index>=elements||index<0){ throw new ArrayIndexOutOfBoundsException(); }else{ return arr[index]; } } //删除数据 public void delete(int index){ if(index>=elements||index<0){ throw new ArrayIndexOutOfBoundsException(); }else{ for(int i=0;i<elements;i++){ arr[index] =arr[index+1]; } elements--; } } //更新数据 public void change(int index,int newvalue){ if(index>=elements||index<0){ throw new ArrayIndexOutOfBoundsException(); }else{ arr[index] = newvalue; } }}
0 0
- <一>java数据结构与算法 数组
- Java数据结构与算法《一》数组
- 【数据结构与算法】一 数组
- Java数据结构与算法之数组(一)
- Java数据结构与算法--数组
- 数据结构与算法:数组(一)
- 数据结构与算法:数组(一)
- JAVA数据结构与算法-第二章-数组
- Java数据结构与算法之数组
- Java数据结构与算法之Array数组
- 《java数据结构与算法》——数组
- Java数据结构与算法---数组逆转
- java数据结构与算法之数组篇
- Java数据结构与算法之Array数组
- Java版数据结构与算法(一)
- java数据结构与算法(一)
- 算法与数据结构 - 数组
- 数据结构与算法:数组
- 利用jquery封装一个简易的旋转木马特效插件
- swustojC++测试二(0161)
- 计算机编程中常用的术语
- 理解Github工作流
- 20170415 What I Have Contempt
- Java数据结构与算法《一》数组
- 八大排序算法之快速排序
- 关于Python3 Filter的改变
- BZOJ 4034 [HAOI2015]树上操作
- FTP服务器
- 一步一步 linux下的环境部署
- Java 集合框架
- Python学习笔记(11)-Python自定义函数
- KMP板子题 HDU