Pagini recente » Cod sursa (job #2440747) | Cod sursa (job #1336626) | Cod sursa (job #1328649) | Cod sursa (job #2316820) | Cod sursa (job #1278336)
/**
* Insertion Sort in C language for 50 cents.
*/
#include <stdio.h>
#define FIN "algsort.in"
#define FOUT "algsort.out"
#define MAXN 500005
typedef unsigned int uint;
uint arr[ MAXN ],
n;
//functions prototype
void read();
void insertion();
void write();
int main() {
read();
insertion();
write();
return(0);
};
void read() {
uint i;
freopen(FIN, "r", stdin);
scanf("%d", &n);
for(i = 0; i < n; i++) scanf("%d", &arr[ i ]);
fclose( stdin );
};
void insertion() {
uint i,
j,
temp;
for(i = 1; i < n; i++) {
if(arr[ i ] > arr[ i - 1 ]) continue;
temp = arr[ i ];
j = i - 1;
while(j >= 0 && arr[ j ] > temp) {
arr[ j + 1 ] = arr[ j ];
j--;
}
arr[ j + 1 ] = temp;
}
};
void write() {
int i;
freopen(FOUT, "w", stdout);
for(i = 0; i < n; i++) printf("%d ", arr[ i ]);
fclose( stdout );
};