initial commit as a maven project
This commit is contained in:
commit
80c493add4
|
|
@ -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>
|
||||||
|
|
@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -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.
Loading…
Reference in New Issue