Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

Hallo alle,

ich bin noch ein richtiger Anfänger im Programmieren und lerne noch.

Ich habe jetzt ein Problem und komme durch suchen und suchen nicht auf die Lösung.

Hier ist mein Quellcode:

for ( i=0; i<n; i++) //n ist vordefiniert als 5

{

	for( j=0;j<n-1; j++) 

	{

		if(var[i] < var[i+1])

		{

			swp = var[i+1];

			var[i+1] = var[i];

			var[i] = swp;


		}

	}

}

Meine Frage ist nun, wie gebe ich den sortierten Bubblesort aus, also an welcher Stelle:)?

Danke im Vorraus,

Fatlind

Moin!

Ich moechte Deine Frage mit einer Gegenfrage beantworten, die Dich hoffentlich auf den richtigen Weg bringt:

Wo ist denn Dein Array var fertig sortiert?

An dieser stelle wuerde ich dann die sortierten Elemente ausgeben.

Da hat Frank natürlich völlig recht! Den Code habe ich mir gar nicht so genau angeschaut, wie ich zu meiner Schande gestehen muss.:old

Aber jetzt habe ich mal einen Blick drauf geworfen un drate Dir, Deine Indizes anzuschauen. Sowohl bei der inneren Schleife, als auch bei der Obergrenze der inneren Schleife.

Da sieht man aber auch mal wieder, dass eine sprechende Variablenbenennung helfen kann Fehler schneller zu entdecken, bzw erst garnicht zu begehen.

Machen wir's kurz: Ich würde es wie unten machen (Indizes wechseln und an zwei Stellen optimieren), wenn's schon Bubble-Sort sein muss.

bool sortiert=false;

for ( i=0; i<n && !sortiert; i++) //n ist vordefiniert als 5

{

        sortiert=true;

	for( j=0;j<n-1-i; j++)  //-i, damit sortierte Elemente nicht neu vergleichen werden

	{

		if(var[j] < var[j+1])

		{

			swp = var[j+1];

			var[j+1] = var[j];

			var[j] = swp;

			sortiert=false;

		}

	}

}

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.