Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/10: Рейтинг темы: голосов - 10, средняя оценка - 5.00
МихаилК
0 / 0 / 0
Регистрация: 18.06.2015
Сообщений: 2
1

Сортировка массива целых чисел в порядке неубывания с помощью сортировки кучей

20.12.2010, 21:38. Просмотров 2063. Ответов 1
Метки нет (Все метки)

В первой строке входного файла находится число n - кол-во чисел в массиве. Во второй строке находятся n целых чисел.
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.12.2010, 21:38
Ответы с готовыми решениями:

Сортировка массива целых чисел различными методами сортировки
Здравствуйте!!! подскажите пожалуйсто!!! Порядок выполнения работы: 1. Разработать процедуры...

Заданы две последовательности целых чисел, в первой из которых числа идут в порядке неубывания
Заданы две последовательности целых чисел, в первой из которых числа идут в порядке неубывания:...

Сортировка одномерного массива целых чисел по возрастанию методом быстрой сортировки
Написать программу для сортировки одномерного массива целых чисел по возрастанию методом быстрой...

Написать две функции сортировки массива целых чисел, реализующих заданные алгоритмы сортировки – один из класса квадрат
#include <stdio.h> #include "stdafx.h" #include "iostream" #include <stdlib.h> #include...

Даны два целых числа, вывести их в порядке неубывания
Даны два целых числа. Вывести их в порядке неубывания. что не правильно var a,b:real; begin...

1
Prog_S
7 / 7 / 9
Регистрация: 01.03.2010
Сообщений: 61
15.07.2012, 23:19 2
Лучший ответ Сообщение было отмечено как решение

Решение

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <stdio.h>
#include <stdlib.h>
void build(int*, int );
void heap(int*, int);
int main(void)
{ 
FILE *fin;
int *a,n,i;
 
fin=fopen("input.txt", "r");
 
fscanf(fin,"%d", &n);
a=(int*)malloc(n*sizeof(int));
for (i=0; i<n; i++)
fscanf(fin,"%d", &a[i]);
printf("pervona4alniy vid\n");
for (i=0; i<n; i++)
printf("%d ", a[i]);
printf("\n");
build(a, n);
printf("\n postroenie\n");
for (i=0; i<n; i++)
printf("%d ", a[i]);
heap(a,n);
printf("\n kone4niy vid\n");
for (i=0; i<n; i++)
printf("%d ", a[i]);
printf("\n");
return 0;
}
/* ------------ */
void build(int *a, int n)
{ int i,j,k,temp;
for (i=0; i<n/2; i++)
{
j=2*i+1;
k=i;
if ((a[j+1]>a[j])&&(j+1<n)) j++;
while ((j>0)&&(a[j]>a[k]))
{
temp=a[j];
a[j]=a[k];
a[k]=temp;
j=k;
k=(k-1)/2;
} }
}
/* -------------*/
void heap(int *a, int n)
{ int nn,temp,i;
nn=n;
while (nn>0)
{
temp=a[0];
a[0]=a[nn-1];
a[nn-1]=temp;
nn--;
build(a,nn);
 
for (i=0; i<n; i++) printf("%d ", a[i]);
}
}
1
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2012, 23:19

Даны два целых числа. Вывести их в порядке неубывания
Даны два целых числа. Вывести их в порядке неубывания. Входные данные: Во входном потоке в первой...

Сортировки массива целых чисел
Необходимо написать программы сортировок массива(с подсчетом количества сранений и обменов):...

Найти отрезки неубывания в N последовательности целых чисел
Здравствуйте. Задано преподавателем напасть программу выводящую на экран отрезки неубывания из N...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.