Java设计一个有序顺序表(元素已排序,递增或递减),实现插入、删除等操作,元素插入位置由其值决定。
时间: 2024-05-05 20:15:56 浏览: 110
实验2.0_顺序表的实现及基本操作_
以下是Java实现有序顺序表的示例代码:
```
public class SortedArrayList<T extends Comparable<T>> {
private ArrayList<T> list;
public SortedArrayList() {
list = new ArrayList<T>();
}
public void add(T value) {
int index = 0;
while (index < list.size() && list.get(index).compareTo(value) < 0) {
index++;
}
list.add(index, value);
}
public void remove(T value) {
int index = 0;
while (index < list.size() && list.get(index).compareTo(value) < 0) {
index++;
}
if (index < list.size() && list.get(index).compareTo(value) == 0) {
list.remove(index);
}
}
public T get(int index) {
return list.get(index);
}
public int size() {
return list.size();
}
public boolean isEmpty() {
return list.isEmpty();
}
public String toString() {
return list.toString();
}
}
```
在这个有序顺序表中,我们使用了ArrayList作为底层实现。当插入一个元素时,我们使用二分查找找到该元素应该插入的位置,然后使用ArrayList的add方法插入元素。当删除一个元素时,我们也使用二分查找找到该元素的位置,然后使用ArrayList的remove方法删除元素。这些操作都保证了有序顺序表的元素始终有序。
阅读全文