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
Post a Comment