Guest User

Untitled

a guest
Jan 13th, 2018
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.71 KB | None | 0 0
  1. def perm[T](lst:List[T]):List[List[T]] = {
  2. if(lst.length < 2) {
  3. return List(lst);
  4. }
  5.  
  6. var nl:List[List[T]] = List();
  7.  
  8. lst.foreach(x => {
  9. val tuple = lst.partition(y => x == y);
  10. perm(tuple._2).foreach(subperm => nl = (subperm ++ tuple._1) :: nl);
  11. });
  12.  
  13. return nl;
  14. }
  15.  
  16. val foo = List(1,2,3);
  17. val bar = List(1,2,3,4);
  18. val baz = List("a", "b", "c");
  19. println(perm(foo));
  20. println(perm(bar));
  21. println(perm(baz));
  22.  
  23. // Aufgabe 2.1
  24.  
  25. def explode(in:List[String]):List[Char] = {
  26. var retVal:List[Char] = List();
  27. in.foreach(str => str.foreach(char => retVal = retVal :+ char));
  28. return retVal;
  29. }
  30.  
  31. def easyExplode(in:List[String]) = in.flatten
Add Comment
Please, Sign In to add comment