自定义类封装数组,并对数组进行CRUD操作;有序数组的实习与查找
来源:互联网 发布:js修改font的值 编辑:程序博客网 时间:2024/05/19 03:27
第一讲:数组
数组的创建、CRUD、有序数组的创建、查找
1. 使用自定义类封装数组:
2. 添加类方法来实现数据操作
public classMyArray {
private long[] arr;
//表示有效数据的长度
private int elements;
public MyArray() {
arr = newlong[50];
}
public MyArray(int maxsize) {
arr = newlong[maxsize];
}
/**
* 添加数据
*/
public void insert(long value) {
arr[elements] = value;
elements++;
}
/**
* 显示数据
*/
public void display() {
System.out.print("[");
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 long get(int index) {
if(index >=elements || index < 0) {
throw newArrayIndexOutOfBoundsException();
}else{
returnarr[index];
}
}
/**
* 删除数据
*/
public void delete(int index) {
if(index >=elements || index < 0) {
throw newArrayIndexOutOfBoundsException();
}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 newArrayIndexOutOfBoundsException();
}else{
arr[index] = newvalue;
}
}
}
3. 有序数组的实现
public classMyOrderArray {
private long[] arr;
//表示有效数据的长度
private int elements;
public MyOrderArray() {
arr = newlong[50];
}
public MyOrderArray(int maxsize) {
arr = newlong[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[i] = value;
elements++;
}
/**
* 显示数据
*/
public void display() {
System.out.print("[");
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 binarySearch(long value) {
int middle = 0;
int low = 0;
int pow =elements;
while(true) {
middle= (pow + low) / 2;
if(arr[middle] == value) {
return middle;
}elseif(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 newArrayIndexOutOfBoundsException();
}else{
returnarr[index];
}
}
/**
* 删除数据
*/
public void delete(int index) {
if(index >=elements || index < 0) {
throw newArrayIndexOutOfBoundsException();
}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 newArrayIndexOutOfBoundsException();
}else{
arr[index] = newvalue;
}
}
}
- 自定义类封装数组,并对数组进行CRUD操作;有序数组的实习与查找
- c语言对数组的操作CRUD
- 有序数组的查找
- 有序数组的查找
- 写一个函数,对整型有序数组进行二分查找。
- 有序数组或者有序数组的旋转数组 查找最小值
- 有序数组的随机化查找
- 有序数组的折半查找
- 有序数组的二分查找
- 循环有序数组的查找
- 有序二维数组的查找
- 有序数组的二分查找
- 有序数组的二分查找
- 有序二维数组的查找
- 二分法在有序数组中进行查找
- 二分法的应用----------利用随机类生成数组,并用二分法对数组的元素进行查找以及插入操作
- 对一个有序数组进行折半查找和把一个整数插入这个数组序列,使其仍旧有序
- 如何对数组的两个子有序段进行合并
- Android APP 禁用横竖屏切换
- iOS_如何画1px的线
- 嵌入式Linux基础知识0(什么是真正的实时操作系统--硬实时 软实时)
- linux系统c++线程池的实现
- 用异步获取网络数据Json
- 自定义类封装数组,并对数组进行CRUD操作;有序数组的实习与查找
- 深入浅出学Hive——Hive内建操作符与函数开发
- java静态工厂(单个方法,也可以有多个方法)
- 使用CXF开发RESTFul服务
- 简单理解Lua
- 判断颜色是否合法的正则表达式
- IO - 同步,异步,阻塞,非阻塞
- 数据库常用函数总结(一)
- Eclipse maven工程如何builde target