Advertisement
kator

ListaSasiedztwa java

Sep 29th, 2014
359
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.21 KB | None | 0 0
  1. package grafy;
  2.  
  3. import java.util.*;
  4.  
  5. class W{
  6.     private List<W> laczenia=new ArrayList<W>();
  7.     private int number;
  8.     W(){
  9.     }
  10.     void addConnection(W w){
  11.         laczenia.add(w);
  12.     }
  13.    
  14.     void delDuplicates(W w){
  15.         for(int i=0;i<w.laczenia.size();++i){
  16.             for(int j=i+1;j<w.laczenia.size();){
  17.                 if(w.laczenia.get(j).equals(w.laczenia.get(i)))w.laczenia.remove(j);
  18.                 else ++j;
  19.             }
  20.         }
  21.     }
  22.    
  23.     void printConnections(W w){
  24.         this.delDuplicates(w);
  25.         System.out.print(this.number+": ");
  26.         while(!laczenia.isEmpty()){
  27.             System.out.print(laczenia.get(0).number+" ");
  28.             laczenia.remove(0);
  29.         }
  30.         System.out.println();
  31.     }
  32.     void setNumber(int i){
  33.        
  34.         number = i+1;
  35.     }
  36. }
  37.  
  38. public class ListaSasiedztwa {
  39.     public static void main(String[] args){
  40.         Random r = new Random();
  41.         W w;
  42.         List<W> graf = new ArrayList<W>();
  43.         for(int i=0;i<10;++i){
  44.             w = new W();
  45.             w.setNumber(i);
  46.             graf.add(w);
  47.         }
  48.         // /\ stworszyl 10 wierzcholkow
  49.         for(int i=0;i<10;++i){
  50.             for(int j=r.nextInt(10);j>0;--j){
  51.                 //if(i==j)continue;
  52.                 int x=r.nextInt(10);
  53.                 if(i==x)continue;
  54.                 graf.get(i).addConnection(graf.get(x));
  55.             }
  56.         }
  57.         for(int i=0;i<10;++i){
  58.             graf.get(i).printConnections(graf.get(i));
  59.         }
  60.     }
  61. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement