ADS1 Lab Manual - Java - Updated Jan 2021-1
ADS1 Lab Manual - Java - Updated Jan 2021-1
INFORMATION TECHNOLOGY
JAZAN UNIVERSITY
Sl. Page
Contents
No. No.
Output:
int n=a.length;
while(first<=last)
int location=(first+last)/2;
if(a[location]==x)
return location;
else
if(a[location]<x)
first=location+1;
else
last=location-1;
return -1;
if(result == -1)
Output:
int n = a.length;
int minpos = i;
minpos = j;
a[minpos] = a[i];
a[i] = temp;
Output:
int n = a.length;
a[j] = a[j+1];
a[j+1] = temp;
Output:
element = e;
next = n;
private Node<E> head = null; // head node of the list (null if empty)
private Node<E> tail = null; // last node of the list (null if empty)
// access methods
public E first( ) { //returns (but does not remove) the first element
return head.getElement( );
public E last( ) { // returns (but does not remove) the last element
// update methods
if (size == 0)
size++;
if (isEmpty( ))
else
size++;
E answer = head.getElement( );
head = head.getNext( ); // will become null if list had only one node
size--;
if (size == 0)
return answer;
cur=head;
for(int i=1;i<=size();i++){
System.out.print(cur.element+" ");
cur=cur.getNext();
list1.addFirst(10);
list1.addFirst(20);
list1.addFirst(30);
list1.addFirst(40);
list1.addLast(50);
list1.removeFirst();
list1.display();
public ArrayStack() {
if(topIndex==-1)
return true;
else
return false;
if(topIndex==(stack.length-1))
return true;
else
return false;
if(!isFull())
topIndex++;
else
{ if(!isEmpty())
{ stack[topIndex]=null;
topIndex--;
else
for(int i=0;i<=topIndex;i++)
System.out.println(stack[i]+" ");
s.pop();
s.push(40);
s.push(50);
s.pop();
s.display();
public ArrayQueue(){
return(count==0);
return(count==queue.length);
if(isFull())
else
queue[rear]=element;
rear=(rear+1)%queue.length;
}//end of else
} //end of enqueue
public T dequeue(){
if(isEmpty()){
return null;
else
T delElement = queue[front];
queue[front]=null;
front=(front+1)%queue.length;
count--;
return delElement;
int i=front;
do{
System.out.print(queue[i]+" ");
i=(i+1)%DEFCAP;
while(i!=rear);
q.dequeue();
q.enqueue(5);
q.enqueue(6);
q.enqueue(7);
q.dequeue();
q.enqueue(8);
q.enqueue(9);
q.enqueue(10);
q.enqueue(11);
q.display();
Output:
class Node{
int data;
Node left,right;
Node(int n){
data=n;
left=right=null;
Node root;
//Inorder traversal
if (node != null) {
Inorder(node.left);
Inorder(node.right);
//Preorder traversal
if (node != null) {
Preorder(node.left);
Preorder(node.right);
if (node != null) {
Postorder(node.left);
Postorder(node.right);
tree.Inorder(tree.root);
tree.Preorder(tree.root);
tree.Postorder(tree.root);
Output:
class Node{
int data;
Node left,right;
Node(int n)
data=n;
left=right=null;
Node root;
boolean isBST() {
// Returns true if the given tree is a BST and its values are >= min
and <= max.
if (tree.isBST())
else
Output:
import java.util.*;
class Heap
maxSize = mx;
heapSize = 0;
if (heapSize + 1 == maxSize)
return false;
heapArray[++heapSize] = ele;
heapArray[pos] = heapArray[pos/2];
pos /=2;
heapArray[pos] = ele;
return true;
if (heapSize==0)
System.out.println("Heap empty!");
return 0;
else
item = heapArray[1];
temp = heapArray[heapSize--];
parent = 1;
child = 2;
child++;
heapArray[parent] = heapArray[child];
parent = child;
child *= 2;
heapArray[parent] = temp;
return item;
/* Array format */
System.out.println("\n");
h.insert(7);
h.insert(3);
h.insert(2);
h.insert(5);
h.insert(8);
h.displayHeap();
h.displayHeap();
Output:
import java.util.Stack;
import java.util.*;
visited[source-1] = true;
stack.push(source);
int i,x;
System.out.println(source);
while(!stack.isEmpty()){
x = stack.pop();
stack.push(x);
visited[i] = true;
System.out.println(i+1);
x = i+1;
i = -1;
int i,j;
matrix[i][j] = in.nextInt();
DFS(matrix,source);
import java.util.LinkedList;
import java.util.Queue;
import java.util.*;
visited[source-1] = true;
queue.add(source);
while(!queue.isEmpty()){
System.out.println(queue.peek());
int x = queue.poll();
int i;
for(i=0; i<matrix.length;i++){
queue.add(i+1);
visited[i] = true;
int i,j;
matrix[i][j] = in.nextInt();
BFS(matrix,source);
Output: