Pagini recente » Cod sursa (job #2083072) | Cod sursa (job #1279886) | Cod sursa (job #1409741) | Cod sursa (job #1514548) | Cod sursa (job #2025589)
#include <iostream>
#include <fstream>
#define BUFF_SIZE 100001
using namespace std;
ifstream in("algsort.in");
ofstream out("algsort.out");
char buffer[BUFF_SIZE];
int pos = 0;
void Read(int& a) {
while (!isdigit(buffer[pos]))
if (++pos == BUFF_SIZE)
in.read(buffer, BUFF_SIZE), pos = 0;
a = 0;
while (isdigit(buffer[pos]))
{
a = a * 10 + buffer[pos] - '0';
if (++pos == BUFF_SIZE)
in.read(buffer, BUFF_SIZE), pos = 0;
}
}
void InsertionSort(int *v, int n) {
for (int i = 2; i <= n; i++) {
int j = i;
int key = v[i];
while (j > 1 && v[j - 1] > key) {
v[j] = v[j - 1];
j--;
}
v[j] = key;
}
}
int main() {
int n, *p;
Read(n);
p = new int[n + 1];
for (int i = 1; i <= n; i++)
Read(p[i]);
InsertionSort(p, n);
for (int i = 1; i <= n; i++)
out << p[i] << " ";
delete[] p;
in.close();
out.close();
return 0;
}