Pagini recente » Cod sursa (job #2233322) | Cod sursa (job #2148524) | Cod sursa (job #3282549) | Cod sursa (job #1743772) | Cod sursa (job #351485)
Cod sursa(job #351485)
#include <fstream>
#include <vector>
#include <iostream>
using namespace std;
void sort(vector<int> &v,int i,int j){
if(i+1<j){
int s=i+1,d=j-1;
while(s<d){
if(v[s]<v[i]) s++;
else if(v[d]<v[i]) swap(v[s],v[d]);
if(!(v[d]<v[i])) d--;
}
if(v[d]<v[i]){
}else{
d--;
}
swap(v[d],v[i]);
sort(v,i,d);
sort(v,d+1,j);
}
}
int main(){
ifstream in("algsort.in");
ofstream out("algsort.out");
vector<int> v;int n;
in>>n;
v.reserve(n);
for(int i=0;i<n;i++){
int t;in>>t;v.push_back(t);
}
for(int i=0;i<n/2;i++){
swap(v[rand()%n],v[rand()%n]);
}
sort(v,0,n);
for(int i=0;i<n;i++){
out<<v[i]<<" ";
}
}