graph java

 import java.util.*;

class edge {

 private String ver1, ver2;

 public edge(String s1, String s2) {

  this.ver1 = s1;

  this.ver2 = s2;

 }

 public String gv1() {

  return ver1;

 }

 public String gv2() {

  return ver2;

 }

}

class graph {


 ArrayList<edge> map = new ArrayList<>();

 ArrayList<String> list = new ArrayList<>();

 sort sort1 = new sort();


 graph() {

  System.out.println("to enter vertice use addv() function ");

  System.out.println("to enter edge use adde() function ");


 }

 void addv(String s1) {

  

   String s = sort1.sort(s1);


   boolean uniq = isuniq(s);

   if (uniq) {

    list.add(s);


   } else {

    System.out.println("vertice already exists for "+s);

   }

  

  

 }

 void adde(String n1, String n2) {

  if (list.size() != 0) {

   

    boolean b1 = isthere(n1);

    boolean b2 = isthere(n2);

    if (b1 && b2) {

     map.add(new edge(n1, n2));

    } else {

     System.out.println(" invalid edge ");

    }

  

  }

 }



 void printv() {

  System.out.println("vertices are.. ");

  for (String sn : list) {

   System.out.print( sn+" ");

  }

System.out.println();

 }

 void printe() {

  System.out.println("edges are...");

  for (int i = 0; i < map.size(); i++) {

   System.out.println(map.get(i).gv1()+ "--" + map.get(i).gv2());


  }

  System.out.println();

 }

 boolean isuniq(String s) {

  for (int i = 0; i < list.size(); i++) {

   if (s.equals(list.get(i)) ){

    return false;

   }

  }

  return true;

 }

 boolean isthere(String a1) {

  for (int i = 0; i < list.size(); i++) {

   if (a1.equals(list.get(i))) {

    return true;

   }

  }

  return false;

 }



 class sort {

  char cha[];

  sort() {};

  String sort(String s) {

   char ch[] = s.toCharArray();

   int j = 0;

   cha = new char[ch.length];

   //cout<<"size "<<ch.length<<endl;

   for (int i = 0; i < ch.length; i++) {

    if (ch[i]==' '){

     i++;

     cha[j] = ch[i];

     j++;


    } else {

     cha[j] = ch[i];

     j++;


    }

   }

   String nk = new String(ch);

   return nk;//String(ch);

  }

 }

}


 public class Main {

  public static void main(String[] args) {

   graph g1 = new graph();

   g1.addv("a1");

   g1.addv("a2");

   g1.addv("a3");

   g1.adde("a1", "a3");

   g1.adde("a2", "a3");

   

   g1.printv();

   g1.printe();

   g1.addv("a1");


  }

 }

Comments