From 80c493add47282ec59af96e68ff171dd65f28352 Mon Sep 17 00:00:00 2001 From: Bo Pan Date: Wed, 4 Jun 2025 14:23:56 -0600 Subject: [PATCH] initial commit as a maven project --- pom.xml | 16 ++++ src/main/java/com/barrx/practice/Main.java | 39 +++++++++ .../java/com/barrx/practice/OrderedArray.java | 75 ++++++++++++++++++ target/classes/com/barrx/practice/Main.class | Bin 0 -> 1615 bytes .../com/barrx/practice/OrderedArray.class | Bin 0 -> 1998 bytes 5 files changed, 130 insertions(+) create mode 100644 pom.xml create mode 100644 src/main/java/com/barrx/practice/Main.java create mode 100644 src/main/java/com/barrx/practice/OrderedArray.java create mode 100644 target/classes/com/barrx/practice/Main.class create mode 100644 target/classes/com/barrx/practice/OrderedArray.class diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..e1fc4e4 --- /dev/null +++ b/pom.xml @@ -0,0 +1,16 @@ + + + 4.0.0 + + com.barrx.practice + dspractice + 1.0-SNAPSHOT + + + 17 + 17 + + + \ No newline at end of file diff --git a/src/main/java/com/barrx/practice/Main.java b/src/main/java/com/barrx/practice/Main.java new file mode 100644 index 0000000..536f568 --- /dev/null +++ b/src/main/java/com/barrx/practice/Main.java @@ -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(); + } +} \ No newline at end of file diff --git a/src/main/java/com/barrx/practice/OrderedArray.java b/src/main/java/com/barrx/practice/OrderedArray.java new file mode 100644 index 0000000..2e27285 --- /dev/null +++ b/src/main/java/com/barrx/practice/OrderedArray.java @@ -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(""); + } +} diff --git a/target/classes/com/barrx/practice/Main.class b/target/classes/com/barrx/practice/Main.class new file mode 100644 index 0000000000000000000000000000000000000000..edfedef949f433454e6bce4b4b1178f9b0157352 GIT binary patch literal 1615 zcmaJ>O>-MX5Pc)bUQ6D@ie$xcg0V$nA_bAwiNi(oaWz?nRXh;a8AIZnku%)wYY_uLJGY}YGwj3*15r`LxO@TzkZL1XG zNa`5FxWH7+a@6g;PD^>4vSllQOwBc=-ISgc&JUc4V8`+WW^4bke3_*?+=jsE!u{Ie zHX4CvIosu8Q^P5N`4QP0UR!ypeckh9FNHL+;l`#}u23yD$H+YV>fxU=I%aW}lq|d|Z10x@~Efk3ve^U=~eu47d|>xQe@Jda%Ac!^>&1A(g{ zwU2eIg?*s4Ex&6=M{rX|6}KpKTiGfg;ZW$$3DVowZIkqs^vs=g)e|_;2&B1Nm)(P|OEug*&s1wx*q6z$%`bhK6}WKNe3tXr-Bm`^gOS2(yfUuW3#BKapNF+Mh>i;0lup}L{)L+B?(TKV z$0Z!{97){lb=8RQVacMaSsp&xgAx^K+YKvF<*9KrC-5azU32%G_JWweR|0xPIv0b5 zusIh5r&Y&MUd5KauY3(HfyHCoN3qes-hTQ2LwWcSb>!J8@%|-@(c+uIQRCbo3gXzM zXPEedMhq#A;cqZulA|645KnNH#7Rui!(_3}hy;DVrrXPZA${-MGi2(eY2@}XLpT?~ zTm$i5gsk&s?mDa}3I$7`j17{4L&C*GcWj`x9mT>BkU(X`T^GUB7K z!i_Di$Tj-Nm5KZlGK%*ZJ-`fYtv}PrB}+DE$t6!V1>PV7r*H)szR+2$VwzVchdaz^ z;0(Uzi)Ay~#Y^}W^Z1TgPw@)A$9epSMf`$S`$}Dk)WAAw{dIpr9k;2KjvuhWYB5&3 uflug*<5NaVBK88V(2y3BbT#OTVH2MbPtv;2)Gzwu18xDNAs}HwVfJ4aYHOtc literal 0 HcmV?d00001 diff --git a/target/classes/com/barrx/practice/OrderedArray.class b/target/classes/com/barrx/practice/OrderedArray.class new file mode 100644 index 0000000000000000000000000000000000000000..8f96e1cc11d56340c6507b8061a37b2b74fd7f6d GIT binary patch literal 1998 zcmai#OK%%h7>3_t&)AORB(+l~l;EZP6{6$IU6Vjr4m#xvH; zxYV%iPhf!%LLiW`>4r;-R3TQZkl3)~4z4 zOxu$#k3&Tyul~@mI?N^>@Uy}5Xi7`^Tu}S(r-@t4;8lzXB%7w!wv28cPN9^<>6Z?9 zx$F6|mBAUDrE;gk1o?VU1Jfxjx~Ar%v(_iPv z^9|eQVda@TbPq~MU(>!{PUB5nN#e4=@E)NvxC)-3-d5REh}{7uS5lZ3fC_XigSV7@ zGO)LJROw}><2Gc~RHe-Jw$y2rj=VFD<9ohqv=^km?liqLZeT8ns=&mHelzWd&W0?7 znnSuO+thKp3j3zOr@hJ|>oDL=!){vAo2Wa^MyFlg4bZdllH=WOTkc_gug5;T2Ibyk zjY7;CmbGm9vOJW)+bP`QH4%pdGBw+l?yO~ap7fHqEpT)fj&fWG5!?UZv&TMK6B9ccc6m&QN&42it{gv;L`73A32`5gUuU0bbeZvVzN zeK)s%VX$~0;2bg>XDKH~nh`!nage$XGyO3NILX;%jPuL!5Zn0(s+6agFYquaXotCm z*HEC`80P4aV)Qhw(Jw{mIa(j$NM}?9tNo3%5L*}#>0!DY!Rry{?=(?im*SO8>{kE< zl6`^1CI%nJML}_Wwf&cRkpd$Dq82{2W@+)Uww>1sUk4ULh4IDWd+M}SqaudDMG6B> zFwaRA@DvZ>1O=ZV>{(vgGlV=(gbVD4ivegcDEiV4=n^I(&_x^#KqrX)MgXet29el; zE(T)BEq;gRNOlazBfjq=zDjZY873^d&8KN|aqN(l)S&lF( zSe^u~Fz;3JOtXX)s+q<)l1$-x4?|^#p%O79=o>N&vs5n_`Vrs4K2}H%08TJ?cu78H zV%6)#_|zswzr#s&_G6{z%!X&U^jL_oNH6ztQ_oOQw9lP4*UyR)P@ZJ literal 0 HcmV?d00001