Changeset 835


Ignore:
Timestamp:
Nov 9, 2009, 6:49:31 PM (12 years ago)
Author:
weyers
Message:

bubble sort replaced by more efficient algorithm!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/Transposition/TranspositionPresentation.xaml.cs

    r833 r835  
    2828        }
    2929
    30         public event EventHandler Completed;
     30       
    3131        private TextBlock[,] teba;
    32         public int timeCounter = 0;
    3332        private int von;
    3433        private int nach;
    35         private bool PaarSortiert;
    3634        private int schleife = 0;
    3735        private int outcount;
    3836        private int outcount1;
    39         private bool onlyOnce;
    4037        private bool Stop = false;
    4138        private int rein;
     
    6259                    if(rein == 0)
    6360                        outcount1 = 2;
    64                     onlyOnce = true;
     61                   
    6562                    Stop = false;
    6663                    if (keyword == null)
     
    7067                    schleife = 0;
    7168                    textBox1.Text = input;
    72                     readIn(rein);
    73                     //sort(schleife);
     69                    readIn();
    7470                }
    7571            }, null);
     
    7874
    7975
    80         public void readout(object sender, EventArgs e)
     76        public void readout()
    8177        {
    8278            DoubleAnimation myDoubleAnimation = new DoubleAnimation();
     
    130126                if (i < teba.GetLength(0) - 1)
    131127                {
    132                     if (Convert.ToInt32(teba[i, 0].Text) > Convert.ToInt32(teba[i + 1, 0].Text))
    133                     {
    134                         ani(this, EventArgs.Empty, i, i + 1);
    135                         PaarSortiert = false;
     128                    if (Convert.ToInt32(teba[i, 0].Text) != i+1 )
     129                    {
     130                        int s =0;
     131                        for (int ix = i + 1; ix < teba.GetLength(0); ix++)
     132                        {
     133                            if (Convert.ToInt32(teba[ix, 0].Text) == i + 1)
     134                            {
     135                                s = ix;
     136                            }
     137                        }
     138                        ani( i, s);
     139                       
    136140                    }
    137141                    else
     
    140144                        sort(schleife);
    141145                    }
    142                 }
    143                 else if (!PaarSortiert)
    144                 {
    145                     schleife = 0;
    146                     PaarSortiert = true;
    147                     sort(0);
    148                 }
    149 
    150                 if (PaarSortiert && onlyOnce && !Stop) { readout(this, EventArgs.Empty); onlyOnce = false; }
     146                   
     147                }
     148               
     149
     150                else if ( !Stop){  readout(); }
    151151            }
    152152
     
    159159            myGrid.RowDefinitions.Clear();
    160160            outcount = 0;
    161             onlyOnce = true;
     161           
    162162            schleife = 0;
    163163            textBox1.Clear();
     
    170170            outcount++;
    171171            if (!Stop)
    172                 readout(this, EventArgs.Empty);
     172                readout();
    173173
    174174        }
     
    178178            outcount1++;
    179179            if (!Stop)
    180                 readIn(rein);
     180                readIn();
    181181
    182182        }
     
    207207                        teba[von, i].Background = help1.Background;
    208208
    209                         // textBox1.Text += i;
    210                     }
    211                 }
    212                 // textBox1.Text += "feuer";
     209                       
     210                    }
     211                }
     212               
    213213                DoubleAnimation myFadein = new DoubleAnimation();
    214214                myFadein.From = 0.0;
     
    232232        }
    233233
    234         public void ani(object sender, EventArgs e, int von, int nach)
     234        public void ani( int von, int nach)
    235235        {
    236236            DoubleAnimation myDoubleAnimation = new DoubleAnimation();
     
    255255        }
    256256
    257         public void readIn(int rein)
     257        public void readIn()
    258258        {
    259259
Note: See TracChangeset for help on using the changeset viewer.