[C#] ShakerSort / Nassi Shneiderman

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von aRiGaT0, 13. November 2010 .

  1. 13. November 2010
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    ShakerSort / Nassi Shneiderman

    Hey Leute,

    bin gerade dabei das Nassi Shneiderman Diagramm zu verstehen und es in C# Code umzuwandeln. Habe es mal hier mit eingefügt.Bild
    PHP:
             private  void ArrayInitialisierung ()  // Initialisiert das zu sortierende Array

            
    {
                
    intArray [ 0 ] =  15 ;
                
    intArray [ 1 ] =  55 ;
                
    intArray [ 2 ] =  14 ;
                
    intArray [ 3 ] =  42 ;
                
    intArray [ 4 ] =  36 ;
                
    intArray [ 5 ] =  18 ;
                
    intArray [ 6 ] =  6 ;
                
    intArray [ 7 ] =  84 ;
                
    intArray [ 8 ] =  99 ;
                
    intArray [ 9 ] =  1 ;
            }

    .... 
            private 
    void cmdShaker_Click_1 ( object sender EventArgs e )
            {
                
    int l  2 ;
                
    int r  intArray . Length ;
                
    int k  intArray . Length ;

                do    
                {
                    for (
    int j  = ( intArray . Length );  j == l ; -- j // ???
                    
    {
                        if ()
                        {
                        }
                    }

                    for (...)
                    {
                        if 
                        {
                    
                        }
                    }
                } while (
    l > r );

            }

    Ich bin ganz strukturiert an das Problem heran gegangen. Was man sofort sieht, ist die Variableninitialisierung, die do-while Schliefe und die zwei For Schleifen.

    Nun habe ich aber schon bei der ersten For-Schleife mein erstes Problem. Mein Ansatz steht oben im Code. Ich verstehe aber die Anweisung im Diagram in der ersten For-Schleife nicht richtig.

    Bin für jede Hilfe dankbar

    Grüße
     
  2. 13. November 2010
    AW: ShakerSort / Nassi Shneiderman

    hab da was verpeilt eben.

    also deine for ist soweit richtig, bis auf die abbruchbedingung, die müsste j != l sein.

    "solange j nicht l (=2) ist, führe das aus.."

    du könntest auch j = (intArray.Length -1) setzen und dann post-dekrementieren, also:

    Code:
    for (int j = intArray.Length - 1; j != l; j--)
    wichtig ist nur, dass j nicht größer ist als der größte index im array. intArray.Lenght ist 10, das array hat aber als letzten index 9.
     
  3. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.