diff --git a/README.md b/README.md deleted file mode 100644 index 7947f9b..0000000 --- a/README.md +++ /dev/null @@ -1,5 +0,0 @@ -# graphJava - -Projet Graph -Réalisé par Bastien Ricoeur, le 28/03/16. -Polytech Montpellier IG3 diff --git a/graph.jar b/graph.jar deleted file mode 100644 index 3ceb599..0000000 Binary files a/graph.jar and /dev/null differ diff --git a/graph/.classpath b/graph/.classpath new file mode 100644 index 0000000..aecd904 --- /dev/null +++ b/graph/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/graph/.project b/graph/.project new file mode 100644 index 0000000..9653737 --- /dev/null +++ b/graph/.project @@ -0,0 +1,17 @@ + + + graph + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/graph/.settings/org.eclipse.jdt.core.prefs b/graph/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 0000000..3a21537 --- /dev/null +++ b/graph/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,11 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 +org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve +org.eclipse.jdt.core.compiler.compliance=1.8 +org.eclipse.jdt.core.compiler.debug.lineNumber=generate +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.8 diff --git a/graph/META-INF/MANIFEST.MF b/graph/META-INF/MANIFEST.MF new file mode 100644 index 0000000..09c71c8 --- /dev/null +++ b/graph/META-INF/MANIFEST.MF @@ -0,0 +1,4 @@ +Manifest-Version: 1.0 +Class-Path: . ../lib/graph.jar +Main-Class: graph.TestGraphImpl + diff --git a/graph/bin/graph/AdjacencyMatrix.class b/graph/bin/graph/AdjacencyMatrix.class new file mode 100644 index 0000000..b5bddc1 Binary files /dev/null and b/graph/bin/graph/AdjacencyMatrix.class differ diff --git a/graph/bin/graph/TestGraphImpl.class b/graph/bin/graph/TestGraphImpl.class new file mode 100644 index 0000000..a71b2d1 Binary files /dev/null and b/graph/bin/graph/TestGraphImpl.class differ diff --git a/graph/bin/unicorn.jar b/graph/bin/unicorn.jar new file mode 100644 index 0000000..97cec41 Binary files /dev/null and b/graph/bin/unicorn.jar differ diff --git a/graph/bin/unicorn_backup.jar b/graph/bin/unicorn_backup.jar new file mode 100644 index 0000000..3607c2b Binary files /dev/null and b/graph/bin/unicorn_backup.jar differ diff --git a/graph/doc/allclasses-frame.html b/graph/doc/allclasses-frame.html new file mode 100644 index 0000000..9400cb6 --- /dev/null +++ b/graph/doc/allclasses-frame.html @@ -0,0 +1,20 @@ + + + + + +All Classes + + + + + +

All Classes

+
+ +
+ + diff --git a/graph/doc/allclasses-noframe.html b/graph/doc/allclasses-noframe.html new file mode 100644 index 0000000..a67ecb1 --- /dev/null +++ b/graph/doc/allclasses-noframe.html @@ -0,0 +1,20 @@ + + + + + +All Classes + + + + + +

All Classes

+
+ +
+ + diff --git a/graph/doc/constant-values.html b/graph/doc/constant-values.html new file mode 100644 index 0000000..d9f7000 --- /dev/null +++ b/graph/doc/constant-values.html @@ -0,0 +1,122 @@ + + + + + +Constant Field Values + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Constant Field Values

+

Contents

+
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/deprecated-list.html b/graph/doc/deprecated-list.html new file mode 100644 index 0000000..fd2288e --- /dev/null +++ b/graph/doc/deprecated-list.html @@ -0,0 +1,122 @@ + + + + + +Deprecated List + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Deprecated API

+

Contents

+
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/graph/AdjacencyMatrix.html b/graph/doc/graph/AdjacencyMatrix.html new file mode 100644 index 0000000..f2d7c87 --- /dev/null +++ b/graph/doc/graph/AdjacencyMatrix.html @@ -0,0 +1,533 @@ + + + + + +AdjacencyMatrix + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
graph
+

Class AdjacencyMatrix

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/graph/TestGraphImpl.html b/graph/doc/graph/TestGraphImpl.html new file mode 100644 index 0000000..b09d582 --- /dev/null +++ b/graph/doc/graph/TestGraphImpl.html @@ -0,0 +1,274 @@ + + + + + +TestGraphImpl + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + + +
+
graph
+

Class TestGraphImpl

+
+
+ +
+ +
+
+ +
+
+ +
+
+ + +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/graph/class-use/AdjacencyMatrix.html b/graph/doc/graph/class-use/AdjacencyMatrix.html new file mode 100644 index 0000000..0563a93 --- /dev/null +++ b/graph/doc/graph/class-use/AdjacencyMatrix.html @@ -0,0 +1,122 @@ + + + + + +Uses of Class graph.AdjacencyMatrix + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Uses of Class
graph.AdjacencyMatrix

+
+
No usage of graph.AdjacencyMatrix
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/graph/class-use/TestGraphImpl.html b/graph/doc/graph/class-use/TestGraphImpl.html new file mode 100644 index 0000000..b69972b --- /dev/null +++ b/graph/doc/graph/class-use/TestGraphImpl.html @@ -0,0 +1,122 @@ + + + + + +Uses of Class graph.TestGraphImpl + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Uses of Class
graph.TestGraphImpl

+
+
No usage of graph.TestGraphImpl
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/graph/package-frame.html b/graph/doc/graph/package-frame.html new file mode 100644 index 0000000..7b2233b --- /dev/null +++ b/graph/doc/graph/package-frame.html @@ -0,0 +1,21 @@ + + + + + +graph + + + + + +

graph

+
+

Classes

+ +
+ + diff --git a/graph/doc/graph/package-summary.html b/graph/doc/graph/package-summary.html new file mode 100644 index 0000000..1670272 --- /dev/null +++ b/graph/doc/graph/package-summary.html @@ -0,0 +1,144 @@ + + + + + +graph + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Package graph

+
+
+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/graph/package-tree.html b/graph/doc/graph/package-tree.html new file mode 100644 index 0000000..6a12240 --- /dev/null +++ b/graph/doc/graph/package-tree.html @@ -0,0 +1,132 @@ + + + + + +graph Class Hierarchy + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Hierarchy For Package graph

+
+
+

Class Hierarchy

+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/graph/package-use.html b/graph/doc/graph/package-use.html new file mode 100644 index 0000000..b8cf3b8 --- /dev/null +++ b/graph/doc/graph/package-use.html @@ -0,0 +1,122 @@ + + + + + +Uses of Package graph + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Uses of Package
graph

+
+
No usage of graph
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/help-doc.html b/graph/doc/help-doc.html new file mode 100644 index 0000000..25200f5 --- /dev/null +++ b/graph/doc/help-doc.html @@ -0,0 +1,223 @@ + + + + + +API Help + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

How This API Document Is Organized

+
This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.
+
+
+ +This help file applies to API documentation generated using the standard doclet.
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/index-files/index-1.html b/graph/doc/index-files/index-1.html new file mode 100644 index 0000000..3a9b124 --- /dev/null +++ b/graph/doc/index-files/index-1.html @@ -0,0 +1,147 @@ + + + + + +A-Index + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
A G M N P S T  + + +

A

+
+
addEdge(Edge) - Method in class graph.AdjacencyMatrix
+
+
method to add an Edge to the graph, will add the edge's vertices if they're not present in the graph
+
+
addEdge(Vertex, Vertex) - Method in class graph.AdjacencyMatrix
+
+
method to add an Edge to the graph if the vertices are already part of the graph
+
+
addVertex(Vertex) - Method in class graph.AdjacencyMatrix
+
+
method to add a Vertex to the graph
+
+
AdjacencyMatrix - Class in graph
+
 
+
AdjacencyMatrix() - Constructor for class graph.AdjacencyMatrix
+
+
constructor of the class
+
+
AdjacencyMatrix(boolean) - Constructor for class graph.AdjacencyMatrix
+
+
constructor of the class with the option to create a directed graph
+
+
+A G M N P S T 
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/index-files/index-2.html b/graph/doc/index-files/index-2.html new file mode 100644 index 0000000..de300fc --- /dev/null +++ b/graph/doc/index-files/index-2.html @@ -0,0 +1,135 @@ + + + + + +G-Index + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
A G M N P S T  + + +

G

+
+
getMatrix() - Method in class graph.AdjacencyMatrix
+
+
getter of the matrix
+
+
getVertices() - Method in class graph.AdjacencyMatrix
+
+
getter of vertices
+
+
graph - package graph
+
 
+
+A G M N P S T 
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/index-files/index-3.html b/graph/doc/index-files/index-3.html new file mode 100644 index 0000000..9e4feea --- /dev/null +++ b/graph/doc/index-files/index-3.html @@ -0,0 +1,127 @@ + + + + + +M-Index + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
A G M N P S T  + + +

M

+
+
main(String[]) - Static method in class graph.TestGraphImpl
+
 
+
+A G M N P S T 
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/index-files/index-4.html b/graph/doc/index-files/index-4.html new file mode 100644 index 0000000..94d3c30 --- /dev/null +++ b/graph/doc/index-files/index-4.html @@ -0,0 +1,137 @@ + + + + + +N-Index + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
A G M N P S T  + + +

N

+
+
nbEdge() - Method in class graph.AdjacencyMatrix
+
+
method that counts the number of edges in the graph
+
+
nbVertex() - Method in class graph.AdjacencyMatrix
+
+
method that counts the number of vertices in the graph
+
+
neighbours(Vertex) - Method in class graph.AdjacencyMatrix
+
+
a method that returns the neighbours of a given vertex
+
+
+A G M N P S T 
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/index-files/index-5.html b/graph/doc/index-files/index-5.html new file mode 100644 index 0000000..74405e2 --- /dev/null +++ b/graph/doc/index-files/index-5.html @@ -0,0 +1,129 @@ + + + + + +P-Index + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
A G M N P S T  + + +

P

+
+
printMatrix() - Method in class graph.AdjacencyMatrix
+
+
method to print the matrix of the graph in ASCII
+
+
+A G M N P S T 
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/index-files/index-6.html b/graph/doc/index-files/index-6.html new file mode 100644 index 0000000..6a475cf --- /dev/null +++ b/graph/doc/index-files/index-6.html @@ -0,0 +1,137 @@ + + + + + +S-Index + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
A G M N P S T  + + +

S

+
+
searchEdge(Vertex, Vertex) - Method in class graph.AdjacencyMatrix
+
+
method that check if an edge is in the graph
+
+
setMatrix(int[][]) - Method in class graph.AdjacencyMatrix
+
+
setter of the matrix
+
+
setVertices(Vertex[]) - Method in class graph.AdjacencyMatrix
+
+
setter of vertices
+
+
+A G M N P S T 
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/index-files/index-7.html b/graph/doc/index-files/index-7.html new file mode 100644 index 0000000..f580a71 --- /dev/null +++ b/graph/doc/index-files/index-7.html @@ -0,0 +1,129 @@ + + + + + +T-Index + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
A G M N P S T  + + +

T

+
+
TestGraphImpl - Class in graph
+
 
+
TestGraphImpl() - Constructor for class graph.TestGraphImpl
+
 
+
+A G M N P S T 
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/index.html b/graph/doc/index.html new file mode 100644 index 0000000..0601887 --- /dev/null +++ b/graph/doc/index.html @@ -0,0 +1,71 @@ + + + + + +Generated Documentation (Untitled) + + + + + + +<noscript> +<div>JavaScript is disabled on your browser.</div> +</noscript> +<h2>Frame Alert</h2> +<p>This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client. Link to <a href="graph/package-summary.html">Non-frame version</a>.</p> + + + diff --git a/graph/doc/overview-tree.html b/graph/doc/overview-tree.html new file mode 100644 index 0000000..98503f5 --- /dev/null +++ b/graph/doc/overview-tree.html @@ -0,0 +1,136 @@ + + + + + +Class Hierarchy + + + + + + + + +
+ + +
Skip navigation links
+ + + + +
+ + +
+

Hierarchy For All Packages

+Package Hierarchies: + +
+
+

Class Hierarchy

+ +
+ +
+ + +
Skip navigation links
+ + + + +
+ + + + diff --git a/graph/doc/package-list b/graph/doc/package-list new file mode 100644 index 0000000..52fdfdd --- /dev/null +++ b/graph/doc/package-list @@ -0,0 +1 @@ +graph diff --git a/graph/doc/script.js b/graph/doc/script.js new file mode 100644 index 0000000..b346356 --- /dev/null +++ b/graph/doc/script.js @@ -0,0 +1,30 @@ +function show(type) +{ + count = 0; + for (var key in methods) { + var row = document.getElementById(key); + if ((methods[key] & type) != 0) { + row.style.display = ''; + row.className = (count++ % 2) ? rowColor : altColor; + } + else + row.style.display = 'none'; + } + updateTabs(type); +} + +function updateTabs(type) +{ + for (var value in tabs) { + var sNode = document.getElementById(tabs[value][0]); + var spanNode = sNode.firstChild; + if (value == type) { + sNode.className = activeTableTab; + spanNode.innerHTML = tabs[value][1]; + } + else { + sNode.className = tableTab; + spanNode.innerHTML = "" + tabs[value][1] + ""; + } + } +} diff --git a/graph/doc/stylesheet.css b/graph/doc/stylesheet.css new file mode 100644 index 0000000..98055b2 --- /dev/null +++ b/graph/doc/stylesheet.css @@ -0,0 +1,574 @@ +/* Javadoc style sheet */ +/* +Overall document style +*/ + +@import url('resources/fonts/dejavu.css'); + +body { + background-color:#ffffff; + color:#353833; + font-family:'DejaVu Sans', Arial, Helvetica, sans-serif; + font-size:14px; + margin:0; +} +a:link, a:visited { + text-decoration:none; + color:#4A6782; +} +a:hover, a:focus { + text-decoration:none; + color:#bb7a2a; +} +a:active { + text-decoration:none; + color:#4A6782; +} +a[name] { + color:#353833; +} +a[name]:hover { + text-decoration:none; + color:#353833; +} +pre { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; +} +h1 { + font-size:20px; +} +h2 { + font-size:18px; +} +h3 { + font-size:16px; + font-style:italic; +} +h4 { + font-size:13px; +} +h5 { + font-size:12px; +} +h6 { + font-size:11px; +} +ul { + list-style-type:disc; +} +code, tt { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; + margin-top:8px; + line-height:1.4em; +} +dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + padding-top:4px; +} +table tr td dt code { + font-family:'DejaVu Sans Mono', monospace; + font-size:14px; + vertical-align:top; + padding-top:4px; +} +sup { + font-size:8px; +} +/* +Document title and Copyright styles +*/ +.clear { + clear:both; + height:0px; + overflow:hidden; +} +.aboutLanguage { + float:right; + padding:0px 21px; + font-size:11px; + z-index:200; + margin-top:-9px; +} +.legalCopy { + margin-left:.5em; +} +.bar a, .bar a:link, .bar a:visited, .bar a:active { + color:#FFFFFF; + text-decoration:none; +} +.bar a:hover, .bar a:focus { + color:#bb7a2a; +} +.tab { + background-color:#0066FF; + color:#ffffff; + padding:8px; + width:5em; + font-weight:bold; +} +/* +Navigation bar styles +*/ +.bar { + background-color:#4D7A97; + color:#FFFFFF; + padding:.8em .5em .4em .8em; + height:auto;/*height:1.8em;*/ + font-size:11px; + margin:0; +} +.topNav { + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.bottomNav { + margin-top:10px; + background-color:#4D7A97; + color:#FFFFFF; + float:left; + padding:0; + width:100%; + clear:right; + height:2.8em; + padding-top:10px; + overflow:hidden; + font-size:12px; +} +.subNav { + background-color:#dee3e9; + float:left; + width:100%; + overflow:hidden; + font-size:12px; +} +.subNav div { + clear:left; + float:left; + padding:0 0 5px 6px; + text-transform:uppercase; +} +ul.navList, ul.subNavList { + float:left; + margin:0 25px 0 0; + padding:0; +} +ul.navList li{ + list-style:none; + float:left; + padding: 5px 6px; + text-transform:uppercase; +} +ul.subNavList li{ + list-style:none; + float:left; +} +.topNav a:link, .topNav a:active, .topNav a:visited, .bottomNav a:link, .bottomNav a:active, .bottomNav a:visited { + color:#FFFFFF; + text-decoration:none; + text-transform:uppercase; +} +.topNav a:hover, .bottomNav a:hover { + text-decoration:none; + color:#bb7a2a; + text-transform:uppercase; +} +.navBarCell1Rev { + background-color:#F8981D; + color:#253441; + margin: auto 5px; +} +.skipNav { + position:absolute; + top:auto; + left:-9999px; + overflow:hidden; +} +/* +Page header and footer styles +*/ +.header, .footer { + clear:both; + margin:0 20px; + padding:5px 0 0 0; +} +.indexHeader { + margin:10px; + position:relative; +} +.indexHeader span{ + margin-right:15px; +} +.indexHeader h1 { + font-size:13px; +} +.title { + color:#2c4557; + margin:10px 0; +} +.subTitle { + margin:5px 0 0 0; +} +.header ul { + margin:0 0 15px 0; + padding:0; +} +.footer ul { + margin:20px 0 5px 0; +} +.header ul li, .footer ul li { + list-style:none; + font-size:13px; +} +/* +Heading styles +*/ +div.details ul.blockList ul.blockList ul.blockList li.blockList h4, div.details ul.blockList ul.blockList ul.blockListLast li.blockList h4 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList ul.blockList li.blockList h3 { + background-color:#dee3e9; + border:1px solid #d0d9e0; + margin:0 0 6px -8px; + padding:7px 5px; +} +ul.blockList ul.blockList li.blockList h3 { + padding:0; + margin:15px 0; +} +ul.blockList li.blockList h2 { + padding:0px 0 20px 0; +} +/* +Page layout container styles +*/ +.contentContainer, .sourceContainer, .classUseContainer, .serializedFormContainer, .constantValuesContainer { + clear:both; + padding:10px 20px; + position:relative; +} +.indexContainer { + margin:10px; + position:relative; + font-size:12px; +} +.indexContainer h2 { + font-size:13px; + padding:0 0 3px 0; +} +.indexContainer ul { + margin:0; + padding:0; +} +.indexContainer ul li { + list-style:none; + padding-top:2px; +} +.contentContainer .description dl dt, .contentContainer .details dl dt, .serializedFormContainer dl dt { + font-size:12px; + font-weight:bold; + margin:10px 0 0 0; + color:#4E4E4E; +} +.contentContainer .description dl dd, .contentContainer .details dl dd, .serializedFormContainer dl dd { + margin:5px 0 10px 0px; + font-size:14px; + font-family:'DejaVu Sans Mono',monospace; +} +.serializedFormContainer dl.nameValue dt { + margin-left:1px; + font-size:1.1em; + display:inline; + font-weight:bold; +} +.serializedFormContainer dl.nameValue dd { + margin:0 0 0 1px; + font-size:1.1em; + display:inline; +} +/* +List styles +*/ +ul.horizontal li { + display:inline; + font-size:0.9em; +} +ul.inheritance { + margin:0; + padding:0; +} +ul.inheritance li { + display:inline; + list-style:none; +} +ul.inheritance li ul.inheritance { + margin-left:15px; + padding-left:15px; + padding-top:1px; +} +ul.blockList, ul.blockListLast { + margin:10px 0 10px 0; + padding:0; +} +ul.blockList li.blockList, ul.blockListLast li.blockList { + list-style:none; + margin-bottom:15px; + line-height:1.4; +} +ul.blockList ul.blockList li.blockList, ul.blockList ul.blockListLast li.blockList { + padding:0px 20px 5px 10px; + border:1px solid #ededed; + background-color:#f8f8f8; +} +ul.blockList ul.blockList ul.blockList li.blockList, ul.blockList ul.blockList ul.blockListLast li.blockList { + padding:0 0 5px 8px; + background-color:#ffffff; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockList { + margin-left:0; + padding-left:0; + padding-bottom:15px; + border:none; +} +ul.blockList ul.blockList ul.blockList ul.blockList li.blockListLast { + list-style:none; + border-bottom:none; + padding-bottom:0; +} +table tr td dl, table tr td dl dt, table tr td dl dd { + margin-top:0; + margin-bottom:1px; +} +/* +Table styles +*/ +.overviewSummary, .memberSummary, .typeSummary, .useSummary, .constantsSummary, .deprecatedSummary { + width:100%; + border-left:1px solid #EEE; + border-right:1px solid #EEE; + border-bottom:1px solid #EEE; +} +.overviewSummary, .memberSummary { + padding:0px; +} +.overviewSummary caption, .memberSummary caption, .typeSummary caption, +.useSummary caption, .constantsSummary caption, .deprecatedSummary caption { + position:relative; + text-align:left; + background-repeat:no-repeat; + color:#253441; + font-weight:bold; + clear:none; + overflow:hidden; + padding:0px; + padding-top:10px; + padding-left:1px; + margin:0px; + white-space:pre; +} +.overviewSummary caption a:link, .memberSummary caption a:link, .typeSummary caption a:link, +.useSummary caption a:link, .constantsSummary caption a:link, .deprecatedSummary caption a:link, +.overviewSummary caption a:hover, .memberSummary caption a:hover, .typeSummary caption a:hover, +.useSummary caption a:hover, .constantsSummary caption a:hover, .deprecatedSummary caption a:hover, +.overviewSummary caption a:active, .memberSummary caption a:active, .typeSummary caption a:active, +.useSummary caption a:active, .constantsSummary caption a:active, .deprecatedSummary caption a:active, +.overviewSummary caption a:visited, .memberSummary caption a:visited, .typeSummary caption a:visited, +.useSummary caption a:visited, .constantsSummary caption a:visited, .deprecatedSummary caption a:visited { + color:#FFFFFF; +} +.overviewSummary caption span, .memberSummary caption span, .typeSummary caption span, +.useSummary caption span, .constantsSummary caption span, .deprecatedSummary caption span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + padding-bottom:7px; + display:inline-block; + float:left; + background-color:#F8981D; + border: none; + height:16px; +} +.memberSummary caption span.activeTableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#F8981D; + height:16px; +} +.memberSummary caption span.tableTab span { + white-space:nowrap; + padding-top:5px; + padding-left:12px; + padding-right:12px; + margin-right:3px; + display:inline-block; + float:left; + background-color:#4D7A97; + height:16px; +} +.memberSummary caption span.tableTab, .memberSummary caption span.activeTableTab { + padding-top:0px; + padding-left:0px; + padding-right:0px; + background-image:none; + float:none; + display:inline; +} +.overviewSummary .tabEnd, .memberSummary .tabEnd, .typeSummary .tabEnd, +.useSummary .tabEnd, .constantsSummary .tabEnd, .deprecatedSummary .tabEnd { + display:none; + width:5px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .activeTableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + float:left; + background-color:#F8981D; +} +.memberSummary .tableTab .tabEnd { + display:none; + width:5px; + margin-right:3px; + position:relative; + background-color:#4D7A97; + float:left; + +} +.overviewSummary td, .memberSummary td, .typeSummary td, +.useSummary td, .constantsSummary td, .deprecatedSummary td { + text-align:left; + padding:0px 0px 12px 10px; +} +th.colOne, th.colFirst, th.colLast, .useSummary th, .constantsSummary th, +td.colOne, td.colFirst, td.colLast, .useSummary td, .constantsSummary td{ + vertical-align:top; + padding-right:0px; + padding-top:8px; + padding-bottom:3px; +} +th.colFirst, th.colLast, th.colOne, .constantsSummary th { + background:#dee3e9; + text-align:left; + padding:8px 3px 3px 7px; +} +td.colFirst, th.colFirst { + white-space:nowrap; + font-size:13px; +} +td.colLast, th.colLast { + font-size:13px; +} +td.colOne, th.colOne { + font-size:13px; +} +.overviewSummary td.colFirst, .overviewSummary th.colFirst, +.useSummary td.colFirst, .useSummary th.colFirst, +.overviewSummary td.colOne, .overviewSummary th.colOne, +.memberSummary td.colFirst, .memberSummary th.colFirst, +.memberSummary td.colOne, .memberSummary th.colOne, +.typeSummary td.colFirst{ + width:25%; + vertical-align:top; +} +td.colOne a:link, td.colOne a:active, td.colOne a:visited, td.colOne a:hover, td.colFirst a:link, td.colFirst a:active, td.colFirst a:visited, td.colFirst a:hover, td.colLast a:link, td.colLast a:active, td.colLast a:visited, td.colLast a:hover, .constantValuesContainer td a:link, .constantValuesContainer td a:active, .constantValuesContainer td a:visited, .constantValuesContainer td a:hover { + font-weight:bold; +} +.tableSubHeadingColor { + background-color:#EEEEFF; +} +.altColor { + background-color:#FFFFFF; +} +.rowColor { + background-color:#EEEEEF; +} +/* +Content styles +*/ +.description pre { + margin-top:0; +} +.deprecatedContent { + margin:0; + padding:10px 0; +} +.docSummary { + padding:0; +} + +ul.blockList ul.blockList ul.blockList li.blockList h3 { + font-style:normal; +} + +div.block { + font-size:14px; + font-family:'DejaVu Serif', Georgia, "Times New Roman", Times, serif; +} + +td.colLast div { + padding-top:0px; +} + + +td.colLast a { + padding-bottom:3px; +} +/* +Formatting effect styles +*/ +.sourceLineNo { + color:green; + padding:0 30px 0 0; +} +h1.hidden { + visibility:hidden; + overflow:hidden; + font-size:10px; +} +.block { + display:block; + margin:3px 10px 2px 0px; + color:#474747; +} +.deprecatedLabel, .descfrmTypeLabel, .memberNameLabel, .memberNameLink, +.overrideSpecifyLabel, .packageHierarchyLabel, .paramLabel, .returnLabel, +.seeLabel, .simpleTagLabel, .throwsLabel, .typeNameLabel, .typeNameLink { + font-weight:bold; +} +.deprecationComment, .emphasizedPhrase, .interfaceName { + font-style:italic; +} + +div.block div.block span.deprecationComment, div.block div.block span.emphasizedPhrase, +div.block div.block span.interfaceName { + font-style:normal; +} + +div.contentContainer ul.blockList li.blockList h2{ + padding-bottom:0px; +} diff --git a/graph/lib/graph.jar b/graph/lib/graph.jar new file mode 100644 index 0000000..2baa56c Binary files /dev/null and b/graph/lib/graph.jar differ diff --git a/graph/src/graph/AdjacencyMatrix.java b/graph/src/graph/AdjacencyMatrix.java new file mode 100644 index 0000000..d5ecb15 --- /dev/null +++ b/graph/src/graph/AdjacencyMatrix.java @@ -0,0 +1,250 @@ +package graph; + +import java.util.Arrays; + +/** + * + * @author Hebmann Julien, Rogeon Louis + * a class that implements Graph as an adjacency matrix + */ + +public class AdjacencyMatrix implements Graph{ + + /** + * the adjacency matrix + */ + private int[][] matrix = {}; + + /** + * boolean to know if the graph is a directed one + */ + private boolean isDirected = false; + /** + * vertex array containing all vertices in the graph + */ + private Vertex[] vertices = {}; + + /** + * constructor of the class + */ + public AdjacencyMatrix(){ + + } + + /** + * constructor of the class with the option to create a directed graph + */ + public AdjacencyMatrix(boolean isDirected){ + this.isDirected = isDirected; + } + + /** + * getter of vertices + * @return the vertices of the graph + */ + public Vertex[] getVertices() { + return vertices; + } + + /** + * setter of vertices + * @param vertices Vertex Array that will be added to the graph + */ + public void setVertices(Vertex[] vertices) { + this.vertices = vertices; + } + + /** + * method to add a Vertex to the graph + * @param v Vertex that will be added to the graph + */ + public void addVertex(Vertex v){ + if (place(v) == -1){ + vertices = addElement(vertices, v); + setMatrix(addElement(getMatrix())); + } + else + System.out.println("A Vertex with this Object already exists !"); + } + + /** + * method to add an Edge to the graph, will add the edge's vertices if they're not present in the graph + * @param e Edge that will be added to the graph + */ + public void addEdge(Edge e){ + if (place(e.extremitie1)==-1){ + System.out.println("The first Vertex didn't exist and was added to the graph"); + this.addVertex(e.extremitie1); + } + + if (place(e.extremitie2)==-1){ + System.out.println("The second Vertex didn't exist and was added to the graph"); + this.addVertex(e.extremitie2); + } + + getMatrix()[place(e.extremitie1)][place(e.extremitie2)] = 1; + if (!isDirected) + getMatrix()[place(e.extremitie2)][place(e.extremitie1)] = 1; + } + + /** + * method to add an Edge to the graph if the vertices are already part of the graph + * @param v1 the first Vertex + * @param v2 the second Vertex + */ + public void addEdge(Vertex v1, Vertex v2){ + if (place(v1)==-1){ + System.out.println("The first Vertex didn't exist and was added to the graph"); + this.addVertex(v1); + } + + if (place(v2)==-1){ + System.out.println("The second Vertex didn't exist and was added to the graph"); + this.addVertex(v2); + } + + getMatrix()[place(v1)][place(v2)] = 1; + if (!isDirected) + getMatrix()[place(v2)][place(v1)] = 1; + } + + /** + * method to know the position of a vertex in the vertex array, depending of his id + * @param v Vertex that will be searched + * @return the position of the Vertex if he's in the graph, or -1 if it isn't + */ + private int place(Vertex v) { + for (int i=0 ; i