Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int sorting_function(int *arr, int *arr_len){
- int mem;
- int i, j, t;
- for ( t = *arr_len / 2; t > 0; t = t/2) {
- for ( i = t; i < *arr_len; i++) {
- mem = arr[i];
- for ( j = i; j >= t ; j = j - t) {
- if (mem < arr[j - t]){
- arr[j] = arr[j - t];
- }
- else{
- break;
- }
- }
- arr[j] = mem;
- }
- }
- return 0;
- }
- int main() {
- int *mass;
- int n;
- double f = 1.247;
- double t = n - 1;
- scanf("%d", &n);
- mass = (int*)malloc(n * sizeof(int));
- for (int i = 0; i < n; i++){
- scanf("%d", &mass[i]);
- }
- sorting_function(mass, &n);
- for (int i = 0; i < n; i++) {
- if (i == n - 1){
- printf("%d\n", mass[i]);
- break;
- }
- printf("%d ", mass[i]);
- }
- return 0;
- }
- 737-1_gma@timp:~$ cat 737-1_gma-7-1.c
- #include <stdio.h>
- #include <stdlib.h>
- int sorting_function(int *numbers, int left, int right) {
- int pivot;
- int l_hold = left;
- int r_hold = right;
- pivot = numbers[left];
- while (left < right)
- {
- while ((numbers[right] >= pivot) && (left < right))
- right--;
- if (left != right)
- {
- numbers[left] = numbers[right];
- left++;
- }
- while ((numbers[left] <= pivot) && (left < right))
- left++;
- if (left != right)
- {
- numbers[right] = numbers[left];
- right--;
- }
- }
- numbers[left] = pivot;
- pivot = left;
- left = l_hold;
- right = r_hold;
- if (left < pivot)
- sorting_function(numbers, left, pivot - 1);
- if (right > pivot)
- sorting_function(numbers, pivot + 1, right);
- return 0;
- }
- int main() {
- int *mass;
- int n;
- scanf("%d", &n);
- mass = (int*)malloc(n * sizeof(int));
- for (int i = 0; i < n; i++){
- scanf("%d", &mass[i]);
- }
- sorting_function(mass, 0, n - 1);
- for (int i = 0; i < n; i++) {
- if (i == n - 1){
- printf("%d\n", mass[i]);
- break;
- }
- printf("%d ", mass[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement