006
12.10.2003, 10:37 Uhr
Pablo
Supertux (Operator)
|
Das gefällt mir besser:
C++: |
#include <stdlib.h> #include <iostream> #include <limits.h> #include <time.h> #include <algorithm>
inline bool comp(short x, short y) {return x<y;}
int main() { short arr[15]; srand(time(NULL)%1000);
for(int i=0; i<15; ++i) arr[i]=rand()%500; // Beschränkung auf [0,...,500]
const int N = sizeof(arr) / sizeof(short); stable_sort(arr, arr+N,comp);
for(int j=0; j<15; ++j) std::cout << j+1 << ". Zahl: " << arr[j] << std::endl;
return EXIT_SUCCESS; }
|
Das ist aufsteigende Sortierung. Wenn du aber in bool comp das "<" kleiner Operator in return x < y; in ">" größer Operator (also return x>y; ) umwandelst, dann kriegst du absteigende Sortierung. Und läuft in O(N*log(N)) und O(N*log(N)²) im Worst Case. -- A! Elbereth Gilthoniel! silivren penna míriel o menel aglar elenath, Gilthoniel, A! Elbereth! Dieser Post wurde am 12.10.2003 um 16:42 Uhr von Pablo Yanez Trujillo editiert. |