Beruflich Dokumente
Kultur Dokumente
struct rec_tag {
char key_field[21];
};
struct head_tag {
int bits_used_in_index;
long buckets_used;
};
class Link {
public int data;
public Link next;
public Link(int d) {
data = d;
}
}
class SortedList {
private Link first;
public SortedList() {
first = null;
}
public void insert(Link theLink){
int key = theLink.data;
Link previous = null;
Link current = first;
while (current != null && key > current.data) {
previous = current;
current = current.next;
}
if (previous == null)
first = theLink;
else
previous.next = theLink;
theLink.next = current;
}
public void displayList() {
System.out.print("List: ");
Link current = first;
while (current != null){
System.out.print(current.data + " ");
current = current.next;
}
System.out.println("");
}
}
public class SeperateChaining {
private SortedList[] hashArray;
private int arraySize;
public SeperateChaining(int size) {
arraySize = size;
hashArray = new SortedList[arraySize];
for (int i = 0; i < arraySize; i++)
hashArray[i] = new SortedList();
}
public void displayTable() {
for (int j = 0; j < arraySize; j++) {
System.out.print(j + ". ");
hashArray[j].displayList();
}
}
public void insert(Link theLink) {
int key=theLink.data;
int hashVal =key % arraySize;
hashArray[hashVal].insert(theLink);
}
public static void main(String[] args) {
Link dataItem;
int size, initSize,ele;
size = 10;
initSize = 10;
SeperateChaining hashTable = new SeperateChaining(size);
Scanner in = new Scanner(System.in);
for (int i = 0; i < initSize; i++){
System.out.println("Enter the elements");
ele = in.nextInt();
dataItem = new Link(ele);
hashTable.insert(dataItem);
}
hashTable.displayTable();
}
}