Bubblesort mit doppelten Zahlen



  • Moin moin, ich habe ein array mit versch. zahlen und einige kommen auch doppelt vor. mit dem normalen bubblesort, wird aber immer das doppelte überschrieben 😞 könntet ihr mir weiterhelfen?



  • Das sollte mit normalem Bubblesort nicht passieren. Wie schaut denn deine Implementierung aus?

    Ich habe es selber kurz in C implementiert und so gibt es kein Problem mit doppelten Zahlen:

    #include <stdio.h>
    
    #define ARRAY_SIZE 9
    
    int main()
    {
    	int i, j;
    	int data[] = { 2, 2, 5, 4, 7, 9, 1, 1, 5 };
    
    	for ( i = 0; i < ARRAY_SIZE; ++i )
    	{
    		for ( j = i + 1; j < ARRAY_SIZE; ++j )
    		{
    			if ( data[i] > data[j] )
    			{
    				int temp = data[i];
    				data[i] = data[j];
    				data[j] = temp;
    			}
    		}
    	}
    
    	for ( i = 0; i < ARRAY_SIZE; ++i )
    		printf("%d\n", data[i]);
    }
    

    Am besten zeigst du mal deine Implementierung. Dann koennen wir deinen Fehler suchen.



  • danke icarus :)! mein fehler lag darin, das ich das mit generics gemacht hab und zum schluss eine zahl mit dem index 2 gelöscht habe, und das war zufällig meine doppelte zahl xD es ist schon spät, aber trotzdem vielen lieben dank 🙂 naja, 99% der fehler sitzen vorm pc


Anmelden zum Antworten