You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.8 KiB
Java
88 lines
2.8 KiB
Java
|
|
/*
|
|
* Follows recently accessed elements should be referred more so kept on top of
|
|
* the list
|
|
*/
|
|
|
|
import java.util.LinkedList;
|
|
import java.util.List;
|
|
import java.util.Random;
|
|
import java.util.Scanner;
|
|
|
|
public class LocalityBasedSearching
|
|
{
|
|
public static void main(String[] args)
|
|
{
|
|
List<Integer> items = new LinkedList<Integer>();
|
|
Integer n = 10;
|
|
Scanner sc = new Scanner(System.in);
|
|
Random rand = new Random();
|
|
while (n > 0)
|
|
{
|
|
items.add(rand.nextInt(100));
|
|
n--;
|
|
}
|
|
System.out.println(items.toString());
|
|
boolean flag = true;
|
|
boolean found = false;
|
|
Integer numberofInstance;
|
|
while (flag == true)
|
|
{
|
|
numberofInstance = 0;
|
|
System.out.println("Enter the element to find: ");
|
|
Integer search = sc.nextInt();
|
|
for (int i = 0; i < items.size(); i++)
|
|
{
|
|
if (items.get(i).equals(search))
|
|
{
|
|
found = true;
|
|
System.out.println("Element found at index " + i
|
|
+ "\nReordering list...");
|
|
// Integer temp = items.get(numberofInstance);
|
|
// items.set(numberofInstance, search);
|
|
items.add(numberofInstance, search);
|
|
items.remove(i + 1);
|
|
// items.set(i, temp);
|
|
System.out.println("Reordered list: " + items.toString());
|
|
numberofInstance++;
|
|
// break;
|
|
}
|
|
}
|
|
if (found == false)
|
|
{
|
|
System.out.println("No such element found.");
|
|
}
|
|
System.out.println("Do you want to continue? <true>/<false>");
|
|
flag = sc.nextBoolean();
|
|
}
|
|
sc.close();
|
|
}
|
|
}
|
|
|
|
/*
|
|
|
|
[52, 94, 58, 8, 78, 0, 30, 81, 16, 58]
|
|
Enter the element to find:
|
|
8
|
|
Element found at index 3
|
|
Reordering list...
|
|
Reordered list: [8, 52, 94, 58, 78, 0, 30, 81, 16, 58]
|
|
Do you want to continue? <true>/<false>
|
|
true
|
|
Enter the element to find:
|
|
58
|
|
Element found at index 3
|
|
Reordering list...
|
|
Reordered list: [58, 8, 52, 94, 78, 0, 30, 81, 16, 58]
|
|
Element found at index 9
|
|
Reordering list...
|
|
Reordered list: [58, 58, 8, 52, 94, 78, 0, 30, 81, 16]
|
|
Do you want to continue? <true>/<false>
|
|
true
|
|
Enter the element to find:
|
|
94
|
|
Element found at index 4
|
|
Reordering list...
|
|
Reordered list: [94, 58, 58, 8, 52, 78, 0, 30, 81, 16]
|
|
Do you want to continue? <true>/<false>
|
|
false |