Pagini recente » Cod sursa (job #1533569) | Cod sursa (job #1908870) | Cod sursa (job #2039668) | Cod sursa (job #1146215) | Cod sursa (job #1246891)
#include <stdio.h>
void swap(int *first, int *second) {
int temp = *first;
*first = *second;
*second = temp;
}
void Insertion_Sort(int *array, int n) {
int i, j;
int temp = 0;
for (i = 0; i < n; i++) {
j = i + 1;
temp = array[j];
while(temp < array[j-1] && j > 0) {
array[j] = array[j-1];
j--;
}
array[j] = temp;
}
}
void Bucket_Sort(int *array, int n) {
int i = 0;
int b[n];
int k = 0, j;
for (i = 0; i < n; i++) {
for (j = k; j < n; j++) {
if (array[j] / 10 < i) {
swap(&array[k], &array[j]);
k++;
}
}
}
Insertion_Sort(array, n);
}
int main() {
FILE *input = fopen("Bucket_Sort.in", "r");
FILE *output = fopen("Bucket_Sort.out", "w");
int n;
fscanf(input, "%d", &n);
int a[n];
int i = 0;
while (i < n) {
fscanf(input, "%d", &a[i++]);
}
Bucket_Sort(a, n);
// Insertion_Sort(a, n);
for (i = 0; i < n; i++) {
fprintf(output, "%d\n ", a[i]);
}
return 0;
}