Java练习数据结构第2章线性表——顺序表

本文主要探讨Java中如何实现线性表的顺序表结构,详细讲解了顺序表的概念和操作,包括数据存储、插入与删除等关键操作,适合初学者和进阶者了解Java数据结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

2.2.1 顺序表 P18

package hicc.ds.c02_linear;

import java.util.Arrays;

public class SeqList {
	private int maxSize = 10; //最大存储长度
	private Object[] data = new Object[maxSize]; //顺序表的存储空间
	private int last; //最后元素的位置
	
	public SeqList() { //初始化
		last = -1;
	}
	
	public int insert(int i, Object x) { //插入操作
		if (last == maxSize) {
			return -1;
		}
		if (i < 0 || i > last+1) {
			return 0;
		}
		for (int j = last; j >= i; j--) {
			data[j+1] = data[j];
		}
		data[i] = x;
		last ++;
		
		return 1;
	}
	
	public Object delete(int i) { // 删除操作
		if (last == -1) {
			return -1;
		}
		if (i < 0 || i > last) {
			return 0;
		}
		Object del_object = data[i];
		for (int j = i; j < last; j++) {
			data[j] = data[j+1];
		}
		last --;
		
		return del_object;
	}
	
	public Object location(Object x) { //按值查找
		if (last == -1) {
			return -1;
		}
		int i = 0;
		while (i <= last && !data[i].equals(x)) {
			i++;
		}
		if (i > last) {
			return -1;
		}else {
			return i;
		}
	}
	
	@Override
	public String toString() {
		return "SeqList [size=" + (last+1) + ", data=" + Arrays.toString(data) + "]";
	}

	public static void main(String[] args) {
		SeqList sl = new SeqList();
		sl.insert(0, 1);
		System.out.println(sl);
		sl.insert(1, 2);
		System.out.println(sl);
		sl.insert(1, 3);
		System.out.println(sl);
		sl.delete(1);
		System.out.println(sl);
		sl.insert(2, 5);
		System.out.println(sl);
		System.out.println(sl.location(2));
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值