CodePaste Logo
New Snippet New Snippet Recent Snippets Recent Snippets My Snippets My Snippets Web Code Search Snippets Search
Sign inor Register
Language: JavaScript

Bubblesort Hamster (Imperativ)

129 Views
Copy Code Show/Hide Line Numbers
   1:  /* bubblesort v2.0 aufgabe 28 */
   2:   
   3:  // eine kachel fressen und gefressene körner zurückgeben
   4:  int kachelFressen(int koerner) {
   5:      for(;kornDa();koerner++)
   6:          nimm();
   7:      return koerner;
   8:  }
   9:  // kachel für kachel fressen und gezählte körner ins array schreiben
  10:  int[] koernerEinlesen() {
  11:      int[] kachel = new int[12];
  12:      kachel[10]=1;
  13:      for(int x=0;vornFrei();kachel[x]=kachelFressen(0),x++)
  14:          vor();        
  15:      return kachel;        
  16:  }
  17:  // eingelesene kacheln sortieren und tauschvorgänge zählen+speichern, anschliessend sortiertes array zurückgeben
  18:  int[] bubbleSort(int[] kachel,int x) {
  19:      while(kachel[10]>0) 
  20:          for(x=0,kachel[11]+=kachel[10],kachel[10]=0;x<9;x++)
  21:              kachel[10]+=arrayTauschen(kachel,x,x+1);
  22:      return kachel;
  23:  }
  24:  // kacheln neu legen mithilfe des sortierten array und gespeicherte tauschvorgänge zurückgeben
  25:  int kachelnSchreiben(int[] kachel) {
  26:      linksUm();
  27:      linksUm();
  28:      for(int x=9;x>=0&&vornFrei();vor(),x--)
  29:          for(int i=0;i<kachel[x];i++)
  30:              gib();
  31:      return kachel[11]-1;
  32:  }
  33:  // 2 positionen des arrays vertauschen wenn a > b ist und tauschvorgang zurückgeben
  34:  int arrayTauschen(int[] kachel,int a,int b) {
  35:      int ausgelagert=0;
  36:      if(kachel[a]>kachel[b]) {
  37:          ausgelagert=kachel[b];
  38:          kachel[b]=kachel[a];
  39:          kachel[a]=ausgelagert;
  40:          return 1;
  41:      }
  42:      return 0;
  43:  }
  44:  ////////////-> MAIN
  45:  // reihe sortieren und tauschvorgänge wiedergeben
  46:  void main() {
  47:      schreib("Es wurden " + kachelnSchreiben(bubbleSort(koernerEinlesen(),0)) + " Tauschvorgänge durchgeführt.");
  48:  }
by faithz
  March 09, 2010 @ 11:53am

Add a comment


Report Abuse
brought to you by:
West Wind Techologies



If you find this site useful and use it frequently please consider making a donation to support this free service.
Donate