******************************************************************************************************
package dataobjects;
import java.util.*;
public class ObjectData {
public int objNo; //sequence no. of the object
Scanner inp = new Scanner(System.in);
// Constructor
public ObjectData() {
}
//Methods
public void setObjNo(int num) {
objNo = num;
}
public String getData() {
//return data of the object in form of the string including its objectNumber
return Integer.toString(objNo);
}
public void editData() {
//to edit object data by entering the new values from the keyboard
System.out.println("Enter number: ");
int num = inp.nextInt();
objNo = num;
}
}
//**********************************************************************************************************
package binarynodes;
import dataobjects.*;
import java.util.*;
public class BNode extends ObjectData {
public BNode left;
public BNode right;
public ObjectData data;
public ObjectData temp;
Scanner inp = new Scanner(System.in);
public BNode(ObjectData newObj) {
left = null;
right = null;
data = newObj;
}
public void show() {
System.out.println(data.getData());
}
void showList() {
BNode temp = left;
while (temp != null) {
temp.show();
temp = temp.right;
}
}
public void editBNode(String keyName){
System.out.println("Enter number: ");
int num = inp.nextInt();
objNo = num;
System.out.println("Please enter new name: ");
keyName = inp.next();
key = keyName;
if (temp != null)
data.editData();
}
}
//**************************************************************************************************************
package nonLinearstructures;
import dataobjects.*;
import binarynodes.*;
public class BinSearchTree extends ObjectData {
BNode root;
public void BinSearchTree() { //constructor
root = null;
}
//adding new object to the tree keeping it sorted in order of a key (String type)
protected void insert(ObjectData newObj) {
BNode temp = new BNode(newObj);
root = inorderBST(root,temp);
}
protected BNode inorderBST(BNode rt,BNode newNode) {
if(rt == null)
rt = newNode;
else if(newNode.data.key.compareTo(rt.data.key) < 0)
rt.left = inorderBST(rt.left,newNode);
else rt.right = inorderBST(rt.right,newNode);
return rt;
}
//b) searching for the object by the key value returning reference to the object if found otherwise null
protected BNode searchBST(BNode rt, String keyName) {
if (rt == null)
return null;
else if(keyName.compareTo(rt.data.key) == 0)
return rt;
else if(keyName.compareTo(rt.data.key) < 0)
return searchBST(rt.left,keyName);
else return searchBST(rt.right,keyName);
}
protected ObjectData search(String keyName) {
BNode temp = searchBST(root,keyName);
if(temp == null)
return null;
else return temp.data;
}
}
//***************************************************************************************************************
import dataobjects.*;
import binarynodes.*;
import java.util.*;
public class MainProg {
public static void main(String args[]) {
BinSearchTree myBST = new BinSearchTree();
Scanner myinp = new Scanner(System.in);
for(int k=0; k<5; k++) {
ObjectData newObj = new ObjectData();
myBST.insertBST(newObj);
}
myBST.inorderBST();
System.out.println("Enter Surname to search:");
String key = myinp.next();
ObjectData objFound = myBST.searchBST(key);
if(objFound != null)
objFound.editdata();
}
}

New Topic/Question
Reply




MultiQuote




|