Napisz program generujący do tablicy 50 liczb pseudolosowych i sortujących je w sposób rosnący metodą sortowania przez wybieranie.

C++


Odpowiedź :

Odpowiedz:

#include <iostream>

#include <vector>

#include <limits>

using namespace std;

vector<int> sort(vector<int> lista){

   vector<int> sortowany;

   int koncowy = lista.size();

   for(int i = 0; i < koncowy; i++){

       int data [2] = {numeric_limits<int>::max(), 0}; // rekord, indeks

       for(int j = 0; j < lista.size(); j++){

           if (lista[j] < data[0]){

               data[0] = lista[j];

               data[1] = j;

           }

       }

       sortowany.push_back(data[0]);

       lista.erase(lista.begin() + data[1]);

   }

   return sortowany;

}

int main(){

   srand(time(NULL));

   vector<int> lista;

   for(int i = 0; i < 50; i++){

       lista.push_back(rand());

   }

   vector<int> sortowany = sort(lista);

   for(int k = 0; k < 50; k++){

       cout << sortowany[k] << " ";

   }

   cout << endl;

   return 0;

}