Bully Algorithm in Java program

BULLY ALGORITHM


import java.io.*;
import java.util.*;
class ba
{
public static int np[]=new int[10];
public static int priority[]=new int[10];
public static int status[]=new int[10];
public static int n,i,p,c,ch;
public static int crash,recover,ele,co;
public static void main(String args[])
{
Scanner sc=new Scanner(System.in);
System.out.println("Enter the number of process = ");
n=sc.nextInt();
//Scanner sc=new Scanner(System.in);
System.out.println("Enter the priority for"+n+" processes \n");
for(i=0;i<n;i++)
{
System.out.println("Priority for process"+(i+1));
p=sc.nextInt();
priority[i]=p;
}
for(i=0;i<n;i++)
{
status[i]=1;
}
do
{
System.out.println("1.crash 2.Recovery 3.exit");
System.out.println("Enter your Choice = ");
ch=sc.nextInt();
switch(ch)
{
case 1:
System.out.println("Which process you want to crash = ");
crash=sc.nextInt();
status[(crash-1)]=0;
System.out.println("Process status = ");
for(i=0;i<n;i++)
{
if(status[i]==0)
System.out.println("process "+(i+1)+ "is crashed ");
else
System.out.println("process "+(i+1)+ "is alive");
}
System.out.println("Enter the process which will hold election = ");
ele=sc.nextInt();
cr(ele);
break;
case 2:
System.out.println("Which process you want to recover = ");
recover=sc.nextInt();
status[recover-1]=1;
if(priority[recover-1]<priority[c])
System.out.println("Co-ordinator is not changed");
else
c=recover;
System.out.println("New Co-ordinator is = "+c);
System.out.println("Co-ordinator is changed");
break;
case 3:
break;
}
} while(ch!=3);
}
static void cr(int ele)
{
 ele = ele-1;
 c= ele+1;
 for(int i=0;i<n;i++)
 {
 if(priority[ele]<priority[i])
 {
 System.out.println("Election message is sent from "+(ele+1)+" to "+(i+1));
 if(status[i]==1)
 cr(i+1);
 }
 }
System.out.println("Final coordinator is = "+ c);
 }
}

Output


Comments

Popular posts from this blog

Hamming code in java

Why companies hiring Interns, build their BRAND faster?