java数据结构——数组(Array)
2024-09-01 07:52:50
数据结构+算法是我们学习道路上的重中之重,让我们一起进步,一起感受代码之美!
/**
* 让我们从最基本的数据结构——数组开始吧
* 增、删、改、查、插、显示
*/
public class Seqlist {
private long arr[];
private int Maxsize;
private int elements; public Seqlist(int size) {// 构造方法
Maxsize = size;
arr = new long[Maxsize];
elements = 0;
} // 有效数据
public void show() {
System.out.println(elements);
} // 增加
public void add(int value) {
int len = arr.length;
if (elements == len) {
System.out.println("表满,无法继续添加。");
return;
} else {
arr[elements] = value;
}
elements++;
} // 删除(输入数据)
public void delete(int value) {
int i;
for (i = 0; i < elements; i++) {
if (arr[i] == value) {
break;
}
}
System.out.println(i);
if (i == elements) {
System.out.println("数据不存在");
return;
} else {
for (int j = i; j < elements; j++) {
arr[j] = arr[j + 1];// 后面数据往前面移动
}
}
elements--;
} // 修改
public void revise(int olddt, int newdt) {
int i;
for (i = 0; i < elements; i++) {
if (arr[i] == olddt) {
break;
}
}
arr[i] = newdt;
} // 查找(按值查找,返回下标)
public int index(int value) {
for (int i = 0; i < elements; i++) {// 遍历有效数据
if (arr[i] == value) {
return i;
}
}
return -1;
} // 插入
public void insert(int key, int value) {
if (key > ++elements || key < 0) {
System.out.println("输入值无效");
}
for (int j = elements; j > key - 1; j--) {
arr[j + 1] = arr[j];// 这句完成有效数据自加
}
arr[key] = value;// 赋值到输入下标位置
} // 显示
public void display() {
for (int i = 0; i < elements; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
} public static void main(String[] args) {
Seqlist s = new Seqlist(100);
s.add(324);
s.add(536);
s.add(342);
s.add(87); s.revise(324, 3);// 修改
s.revise(536, 4);
s.revise(342, 5);
s.revise(87, 6);
s.display();
s.show(); s.insert(0, 1);// 插入
s.insert(1, 2);
s.show();
s.display();
} }
最新文章
- 《UML大战需求分析》阅读笔记4
- js 事件
- JSONP的小示例
- 【第三课】ANR和OOM——贪快和贪多的后果(下)
- 使用网站processon在线作图
- php大文件下载
- Android自定义属性时format选项可以取用的值
- Does anyone successfully use USB drive in Windows7 guest?
- Linux进程通信----匿名管道
- Windows Azure 社区新闻综述(#72 版)
- NYOJ115 市叛乱 【SPFA】
- PAT (Advanced Level) 1018. Public Bike Management (30)
- Maven工具的使用总结
- 实现各种 CSS3 文本动画效果
- Asp.Net SignalR - 持久连接类
- 《剑指offer(第二版)》面试题64——求1+2+...+n
- 深度学习实战-强化学习-九宫格 当前奖励值 = max(及时奖励 + 下一个位置的奖励值 * 奖励衰减)
- getBoundingClientRect获取元素在页面上的位置
- 关于常用的编码工具如何引入jar包
- Diocp截图