Pagini recente » Cod sursa (job #2985899) | Cod sursa (job #2615264) | Cod sursa (job #2408113) | Cod sursa (job #2560690) | Cod sursa (job #1423823)
///SORTING
#include <iostream>
#include <fstream>
#include <algorithm>
#include <vector>
#include <limits>
using namespace std;
const int MAXINT = numeric_limits<int>::max();
void insertionSort(vector<int>& A) {
int j;
for(int i=1; i<A.size(); ++i) {
j = i;
while(j && A[j-1] > A[j]) {
swap(A[j-1], A[j]);
--j;
}
}
}
void selectionSort(vector<int>& A) {
pair<int, int> min(0, 0);
for(int i=0; i<A.size()-1; ++i) {
min.first = A[i];
for(int j=i+1; j<A.size(); ++j)
if(min.first > A[j]) {
min.first = A[j];
min.second = j;
}
if(min.first != A[i])
swap(A[i], A[min.second]);
}
}
int main() {
ifstream inStr("algsort.in");
ofstream outStr("algsort.out");
int N;
inStr >> N;
vector<int> A(N);
for(int i=0; i<N; ++i)
inStr >> A[i];
selectionSort(A);
for(auto curr : A)
outStr << curr << ' ';
outStr << '\n';
return 0;
}