Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » kein Plan

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
17.01.2007, 12:39 Uhr
lsw



Geben Sie in Stichworten die Schritte an, die ein Programm ausführen muss, um eine Zahlenfolge nach dem "Selection-Sort-Algorithmus" aufsteigend zu sortieren. Nehmen Sie zum Beispiel die Folge:

7 3 5 12 2 1

Weiß jemand was da zu tun ist?

Besten Dank im Voraus.

MFG
lsw
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.01.2007, 12:59 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)



Zitat von lsw:

Weiß jemand was da zu tun ist?


ja. und nun?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
17.01.2007, 13:11 Uhr
Kest
saint


Hi!

Soll ungefähr so aussehen:


C++:
#include <iostream>

void my_sort(int *zg, const int zg_size){
    for(int i=0; i<zg_size; i++)
        for(int j=i; j<zg_size; j++)
                if(zg[i]>zg[j]){
                        int hilf=zg[i];
                        zg[i]=zg[j];
                        zg[j]=hilf;
                        }
}


int main()
{
    int feld[]={7, 3, 5, 12, 2, 1};
    const int feld_size=sizeof(feld)/sizeof(int);

    std::cout << "vor my_sort:\n";

    for (int i=0; i<feld_size; i++)
            std::cout << feld[i] << "  ";

    my_sort(feld, feld_size);

    std::cout << std::endl << std::endl << "nach my_sort:\n";

    for (int i=0; i<feld_size; i++)
            std::cout << feld[i] << "  ";

    return 0;
}

--
Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.

Dieser Post wurde am 17.01.2007 um 13:23 Uhr von Kest editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
17.01.2007, 13:21 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Wo ist das denn Selection Sort?!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
17.01.2007, 13:22 Uhr
0xdeadbeef
Gott
(Operator)


Das ist kein selection sort. Eben mal hingekladdet:

C++:
#include <algorithm>
#include <iostream>
#include <iterator>

int *minimum_position(int *begin, int *end) {
  if(end - begin == 1)
    return begin;
  
  int *ptr = minimum_position(begin + 1, end);
  return *begin < *ptr ? begin : ptr;
}

void selection_sort(int *begin, int *end) {
  int *min_pos, tmp;

  if(end - begin == 1) return;

  min_pos = minimum_position(begin, end);
  tmp = *min_pos;
  *min_pos = *begin;
  *begin = tmp;

  selection_sort(begin + 1, end);
}

int main() {
  int foo[] = { 31, 25, 12, 22, 11 };

  selection_sort(foo, foo + 5);

  std::copy(foo, foo + 5, std::ostream_iterator<int>(std::cout, " "));
  std::cout << std::endl;
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: