目录
创新互联公司主要业务有网站营销策划、网站设计、成都做网站、微信公众号开发、微信平台小程序开发、H5高端网站建设、程序开发等业务。一次合作终身朋友,是我们奉行的宗旨;我们不仅仅把客户当客户,还把客户视为我们的合作伙伴,在开展业务的过程中,公司还积累了丰富的行业经验、成都营销网站建设资源和合作伙伴关系资源,并逐渐建立起规范的客户服务和保障体系。👀一.初识顺序表
👺二.顺序表表的实现
1. 顺序表用数组elem实现存放元素,以及usedSize来记录使用空间,可以自行设置默认容量大小。
2.在末尾新增元素add(int data)
3.在pos位置新增元素add(int pos ,int data)
4.判断是否包含某个元素contains(int toFind)
5.找到某元素对应位置indexOf(int toFind)
6.获取pos位置元素get(int pos)
7.给pos位置元素设置为value set(int pos, int value)
8.删除第一次出现的关键字toRmove remove(int toRmove)
9.获取顺序表长度 getSize()
10.清空顺序表clear()
整体代码展示
提前准备2个方法能封装尽量封装(当养成好习惯)一个扩容方法 一个判断是否已满
private void reSize(){
this.elem=Arrays.copyOf(this.elem,2*this.elem.length);
}
public boolean isFull(){
return usedSize == elem.length;
}
1. 顺序表用数组elem实现存放元素,以及usedSize来记录使用空间,可以自行设置默认容量大小。public class MyArrayList {
public int[] elem;//用一个数组储存元素
public int usedSize;// 记录已使用空间
public static final int DEFAULT_SIZE=10; //给定默认空间大小
public MyArrayList(){
this.elem=new int[DEFAULT_SIZE];
}
}
2.在末尾新增元素add(int data)// 新增元素,默认在数组最后新增
public void add(int data) {
if (isFull()){
reSize();
}
this.elem[usedSize]=data;
usedSize++;
}
3.在pos位置新增元素add(int pos ,int data)public void add(int pos, int data) {
checkIndex(pos);
if (isFull()){
reSize();
}
for (int i=usedSize-1;i>=pos;i--){
elem[i+1]=elem[i];//从pos开始每个数往后挪一个位置
}
elem[pos]=data;
usedSize++;
}
private void checkGetIndex(int pos){
if (pos>=usedSize||pos<0){
throw new IndexOutOfBoundException("get元素时位置不合法");
}
}
4.判断是否包含某个元素contains(int toFind)// 判定是否包含某个元素
public boolean contains(int toFind) {
for (int i=0;i
5.找到某元素对应位置indexOf(int toFind)// 查找某个元素对应的位置
public int indexOf(int toFind) {
for (int i=0;i
6.获取pos位置元素get(int pos)// 获取 pos 位置的元素
public int get(int pos) {
checkIndex(pos);
return this.elem[pos]; }
private void checkIndex(int pos){
if (pos>usedSize||pos<0){
throw new IndexOutOfBoundException("add元素时位置不合法");
}
}
7.给pos位置元素设置为value set(int pos, int value)// 给 pos 位置的元素设为 value
public void set(int pos, int value) {
checkIndex(pos);
this.elem[pos]=value;
}
8.删除第一次出现的关键字toRmove remove(int toRmove)//删除第一次出现的关键字key
public boolean remove(int toRemove) {
if (indexOf(toRemove)==-1){
System.out.println("没找到这个数");
return false;
}
int index=indexOf(toRemove);
for (int i=index;i
9.获取顺序表长度 getSize()public int getSize() {
return usedSize; }
10.清空顺序表clear()// 清空顺序表
public void clear() {
usedSize=0;
}
整体代码展示import java.util.Arrays;
public class MyArrayList {
public int[] elem;//用一个数组储存元素
public int usedSize;// 记录已使用空间
public static final int DEFAULT_SIZE=10; //给定默认空间大小
public MyArrayList(){
this.elem=new int[DEFAULT_SIZE];
}
// 新增元素,默认在数组最后新增
public void add(int data) {
if (isFull()){
reSize();
}
this.elem[usedSize]=data;
usedSize++;
}
private void reSize(){
this.elem=Arrays.copyOf(this.elem,2*this.elem.length);
}
public boolean isFull(){
return usedSize == elem.length;
}
// 在 pos 位置新增元素
public void add(int pos, int data) {
checkIndex(pos);
if (isFull()){
reSize();
}
for (int i=usedSize-1;i>=pos;i--){
elem[i+1]=elem[i];
}
elem[pos]=data;
usedSize++;
}
private void checkIndex(int pos){
if (pos>usedSize||pos<0){
throw new IndexOutOfBoundException("add元素时位置不合法");
}
}
private void checkGetIndex(int pos){
if (pos>=usedSize||pos<0){
throw new IndexOutOfBoundException("get元素时位置不合法");
}
}
// 判定是否包含某个元素
public boolean contains(int toFind) {
for (int i=0;i
本人第一次写博客,主要为学习记录使用,如有错误和不好的地方欢迎大家指出。
最后谢谢大家的阅读。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧