数据结构+算法是我们学习道路上的重中之重,让我们一起进步,一起感受代码之美!
/** * 让我们从最基本的数据结构——数组开始吧 * 增、删、改、查、插、显示 */ 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(); } }