insertionsort prob



  • Hallo,

    ich habe ein InsertionSort algo genommen und angepasst. Aber irgendwie funktioniert er nicht richtig. :-\

    Ich möchte alle Elemente im Array arr, nach dem "dist" wert sortieren. Grosse dist werte zuerst und dann absteigend.

    Hier ist der Code:

    void insertionSort2(DummyArray** arr,Vector cam)
    {
    	DummyProp* g_arr = (*arr)->GetArray();
    	int iCurrentPos = 0;
    
    	for(int i = 1; i < (*arr)->GetCount(); i++) 
    	{
    	  iCurrentPos = i - 1;
    
    	  DummyProp* temp = (*arr)->GetIndex(i);
    	  float dist = temp->dist;
    
    	  while((iCurrentPos >= 0) && (*arr)->GetIndex(iCurrentPos)->dist < dist)) 
    	  {
    		g_arr[iCurrentPos + 1] = *(*arr)->GetIndex(iCurrentPos);
    		iCurrentPos--;
    	  }
    	  g_arr[iCurrentPos + 1] = *temp;
    	}
    }
    

    Was mache ich falsch?

    Danke
    Katachi



  • Mal so gefragt: Was macht der Code denn falsch?



  • Walli schrieb:

    Mal so gefragt: Was macht der Code denn falsch?

    Das weiss ich ja grad nicht. Das Array weist danach doppelte Einträge auf. 😞



  • Ok, habs schon. Ich hab einfach ein 2. DummyArray erstellt und weise die sortierten Objekte diesem zu.


Anmelden zum Antworten