none
Zeit einer Array- Sortierung messen! RRS feed

  • Frage

  • Guten Abend Community,

    die Erstellung einer Zeitmessung für eine Array- Sortierung stellt mich vor einige Unklarheiten...

    Ablauf: Wenn ich den "Start"- Button drücke soll folgendes passieren,

    1. Initialisierung eines dynamischen Feldes mit 10.000.000 Zufallszahlen die zwischen 1 und 100 liegen
    2. Zeitmessung starten
    3. Übergabe des Feldes an meine Sortierklasse, in dem Fall Selection Sort
    4. Zeitmessung beenden

    Die Zeitmessung habe ich derzeit über ein Label anzeigen lassen, dass mit einem Timer kommuniziert. Da ich mit dem Timer noch nicht gearbeitet habe, habe ich zuerst mal ausprobiert wie der Timer an sich arbeitet. Dazu habe ich einfach mal eine Stoppuhr geschrieben und die funktioniert ohne Probleme. Allerdings funktioniert diese nicht in Verbindung mit meinem Vorhaben.

    System::Void MyForm::but_start_Click(System::Object^  sender, System::EventArgs^  e)
    	{
    
    #define MAX 10000000
    
    		Sortieren sort = Sortieren();
    
    
    		int* ar_zufall = new int[MAX];
    
    		int zufallszahl;
    		int i;
    		time_t t;
    
    		time(&t);
    		srand((unsigned int)t);
    
    		for (i = 0; i < MAX; i++)
    		{
    			zufallszahl = 0;
    			zufallszahl = (rand() % 100) + 1;
    
    			ar_zufall[i] = zufallszahl;
    		}
    
    		timer1->Start();
    
    		sort.selectionsort(ar_zufall, MAX);
    
    		timer1->Stop();
    
    		delete[] ar_zufall;
    	}
    
    
    System::Void MyForm::timer1_Tick(System::Object^  sender, System::EventArgs^  e)
    	{
    		label1->Text = Convert::ToString(Convert::ToDouble(label1->Text) + 0.1);
    	}

    Hoffe das Problem ist verständlich und mir kann geholfen werden :)

    MfG SnitsuD


    Sonntag, 27. Dezember 2015 23:00

Antworten

Alle Antworten