Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[quasi-Tut] [ idea of a sick mind ] Algorytm sortujący o stałej (!) złożoności obliczeniowej


Rekomendowane odpowiedzi

Opublikowano

http://wklej.to/Qo5eT

 

IMHO brilliant, ale to mój własny kod, więc nie będę się tak chwalił...

Sami oceńcie.

 

Poniżej spoiler z kodem, bez TAB'ów ( i minimalistyczny ), bo MPC się jebie...

 

 

#include <vector>
#include <stdlib.h>
#include <time.h>
#include <iostream>
#include <Windows.h>

DWORD WINAPI sleep_cout( void* p ) {
int i = *(int*)p;
Sleep ( i ) ;
std::cout << i << std::endl;
}

void sleep_cout_sorted_vector ( std::vector<int> &v ) {
std::vector<int>::iterator i = v.begin();
while ( i++ != v.end() ) {
CreateThread( NULL, 0, sleep_cout , (void*)&(*i) , 0, NULL );
}
return ;
}

#define ZAKRES_LICZB 1000

int main() {

std::vector<int> v;
srand ( time(NULL) );
for ( int i = 0; i < 100; i ++ )
v.push_back( rand() % ZAKRES_LICZB );

sleep_cout_sorted_vector(v);

Sleep( ZAKRES_LICZB );

return 0;

}

 

 

Złożoność czasowa stała, złożoność pamięciowa = n, złożoność czasowa.. cóż, interesująca ;]

Ta sygnatura jest pusta.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...