initial commit as a maven project

This commit is contained in:
Bo Pan 2025-06-04 14:23:56 -06:00
commit 80c493add4
5 changed files with 130 additions and 0 deletions

16
pom.xml Normal file
View File

@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.barrx.practice</groupId>
<artifactId>dspractice</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
</project>

View File

@ -0,0 +1,39 @@
package com.barrx.practice;
public class Main {
public static void main(String[] args) {
// System.out.println("Hello world!");
int maxSize = 100;
OrderedArray arr;
arr = new OrderedArray(maxSize);
arr.insert(77);
arr.insert(99);
arr.insert(44);
arr.insert(55);
arr.insert(22);
arr.insert(88);
arr.insert(11);
arr.insert(00);
arr.insert(66);
arr.insert(33);
int searchKey = 55;
if (arr.find(searchKey) != arr.size()) {
System.out.println("Found " + searchKey);
}
else {
System.out.println("Can't find " + searchKey);
}
arr.display();
arr.delete(00);
arr.delete(55);
arr.delete(99);
arr.display();
}
}

View File

@ -0,0 +1,75 @@
package com.barrx.practice;
public class OrderedArray {
private long[] a;
private int nElems;
public OrderedArray(int max) {
a = new long[max];
nElems = 0;
}
public int size() {
return nElems;
}
public int find(long searchKey) {
int lowerBound = 0;
int upperBound = nElems - 1;
int curIn;
while (true) {
curIn = (lowerBound + upperBound) / 2;
if (a[curIn] == searchKey) {
return curIn;
}
else if (lowerBound > upperBound) {
return nElems;
}
else {
if (a[curIn] < searchKey) {
lowerBound = curIn + 1;
}
else {
upperBound = curIn - 1;
}
}
}
}
public void insert(long value) {
int j;
for (j = 0; j < nElems; j++) {
if (a[j] > value) {
break;
}
}
for (int k = nElems; k > j; k--) {
a[k] = a[k - 1];
}
a[j] = value;
nElems++;
}
public boolean delete(long value) {
int j = find(value);
if (j == nElems) {
return false;
}
else {
for (int k = j; k < nElems; k++) {
a[k] = a[k + 1];
}
nElems --;
return true;
}
}
public void display() {
for (int j = 0; j < nElems; j++) {
System.out.print(a[j] + " ");
}
System.out.println("");
}
}

Binary file not shown.

Binary file not shown.