12 Pair find (Pair dataPtr) {
14 ListNode prevPtr = findPrevious(dataPtr);
16 nodePtr = prevPtr.nextPtr;
18 if ((nodePtr == null) || nodePtr.dataPtr.firstPtr.compareTo(dataPtr.firstPtr) !=0 ) {
22 return nodePtr.dataPtr;
25 ListNode findPrevious (Pair dataPtr) {
26 ListNode prevPtr = head;
28 nodePtr = prevPtr.nextPtr;
30 for (; nodePtr != null; nodePtr = nodePtr.nextPtr) {
31 if (nodePtr.dataPtr.firstPtr.compareTo(dataPtr.firstPtr) >= 0) {
40 boolean insert (Pair dataPtr) {
45 prevPtr = findPrevious(dataPtr);
46 currPtr = prevPtr.nextPtr;
48 if ((currPtr != null) && (currPtr.dataPtr.firstPtr.compareTo(dataPtr.firstPtr)==0)) {
52 nodePtr = new ListNode(dataPtr);
54 nodePtr.nextPtr = currPtr;
55 prevPtr.nextPtr = nodePtr;