Insertion Sort mit Binärer Suche
-
Hi Experten,
kann mir evtl. jemand dabei helfen, den insertion sort mit binärer Suche zu implementieren:
Mein insertionsort sieht so aus:
int main(int argc, char** argv) { const int max =10; int n=0, zahl; //n ist Schrittzähler int A[max]={0}; do{ cout << "Bitte eine Zahl eingeben: "; cin >> zahl; A[n] = zahl; //Schreibt zahl an n-te stelle des Arrays if (zahl !=0) n++; }while (zahl !=0 && n<max); for (int i=1;i<n; i++) { //durchläufe int tmp =A[i]; //schreibt den Wert von i-ter Stelle in tmp int j = i-1; while (j>0 && tmp<A[j]) { //verschieben Größerer Elemente A[j+1] = A[j]; j--; } A[j+1] =tmp; //Einfügen an die Richtige Stelle } for ( int i = 0; i < n ; i++) //Ausgeben cout << A[i] << " "; cout << endl; return 0; }int key, pos; int left, right, mid; bool found = false; cout << "Suche nach: "; cin >> key; left = 0; right = n - 1; while (left <= right) { mid = (left + right) / 2; //Median bestimmen if (key < A[mid]) right = mid - 1; else if (key > A[mid]) left = mid + 1; else { // gefunden found = true; pos = mid; break; } } if (!found) cout << "Element nicht vorhanden!!" << endl; else cout << "Element liegt an Stelle " << pos << endl;Danke euch schon mal für eure Hilfe
-
Nein
-
Hä, ich sehe das Problem nicht, du hast die Sachen doch schon?
