0 / 0 / 0
Регистрация: 15.01.2009
Сообщений: 8
1

Методы сортировки: вычисление адреса

15.01.2009, 07:04. Показов 4417. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дан массив 700 элементов,нужно отсортировать его вычислением адреса,кто-нибудь может помочь с программой? я вообще не знаю с чего начинать%)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.01.2009, 07:04
Ответы с готовыми решениями:

Методы сортировки
Сравнить скорости сортировки массивов - небольшого (до 1000 елементов) и большого (10000 елементов)...

Методы сортировки на Паскале
Закиньте, пожалуйста, тексты программ на Паскале сортировок пузырьком, выбором, Bogosort, блочной...

Сортировка и поиск. Методы внутренней сортировки
Народ помогите кто сделать программы а то я совсем замотался блин А можеш сделать В заданном...

Быстрые методы внутренней сортировки, метод Хоара
Народ, помогите пожалуйста с прогами...:) Вопрос жизни или долгой и мучительной смерти..:) Решить...

6
1512 / 779 / 103
Регистрация: 22.04.2008
Сообщений: 1,610
15.01.2009, 09:47 2
Объясни поподробней тогда поможем!
0
0 / 0 / 0
Регистрация: 15.01.2009
Сообщений: 8
15.01.2009, 18:15  [ТС] 3
я вроде всё пояснила. мне нужно отсортировать массив 700 элементов методом: вычисление адреса. мы забиваем 700 как константу, рандом нам дает 700 разных чисел (не отсортированных), их нужно отсортировать как раз вычислением адреса. Я этот метод вообще туго понимаю,а прогу написать так вообще за голову хватаюсь. хелп ми если можете
0
203 / 145 / 16
Регистрация: 13.01.2009
Сообщений: 554
15.01.2009, 18:19 4
когда спрашивали о подробностях имелось ввиду, что такое адрес? Или что такое метод сортировки: вычислением адреса?
0
7 / 7 / 0
Регистрация: 09.01.2009
Сообщений: 41
15.01.2009, 18:30 5
Quick-sort, merge-sort, max-sort, bubble-sort, quick-sort, heap-sort, radix-sort, bucket-sort. Какой из этих методов сортировки вас интересует ?
0
0 / 0 / 0
Регистрация: 15.01.2009
Сообщений: 8
17.01.2009, 03:03  [ТС] 6
это задание по "Методам программирования и Структурам и алгоритмам обработки данных на ЭВМ"

"Сортировка вычислением адреса

В данной сортировке используется метод преобразования значений в адрес таблицы. Каждому элементу массива присваивается некоторый адрес, например целая часть от деления элемента на некоторое число. Но может случится так, что двум и более элементам будет присвоен один и тот же адрес. Поэтому для перемещения величины по вычисленному адресу необходимо проверить, не занято ли уже это место. Если это так, то перемещаемая величина сравнивается с величиной, уже находящейся по этому адресу, и выполняется линейный поиск в требуемом направление для того, чтобы найти место для новой величины. В случае нахождение свободного пространства туда помещается рассматриваемый элемент. Если нет свободного пространства с учетом упорядоченности элементов, то необходимо переместить некоторые предыдущие элементы для освобождения места." это я нашла в книге.
0
203 / 145 / 16
Регистрация: 13.01.2009
Сообщений: 554
17.01.2009, 18:14 7
это не сортировка, это скорее быстрый поиск, вообще так организовывают таблицы идентификаторов, метод называется хеш-адресация. В результате выполнения этого алгоритма массив НЕ БУДЕТ ОТСОРТИРОВАН. Определитесь, что Вам нужно?

Добавлено через 29 минут 25 секунд
наврал, я тут подумал, если это прогнать для чисел, массив действительно будет отсортирован, но метод какой-то странный, получим в результате такой "рваную" таблицу, и непонятно зачем тогда вообще что-то делить если можно просто бросать элемент на место в таблице с индексом равным самому этому элементу, например число 5 - будет 5м элементом массива и т.д.
Сейчас набросаю такой код...

Добавлено через 11 минут 30 секунд
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
const n=700;
const max=1000; //максимальный элемент допустимый в массиве
var
i,j:integer;
a:array[1..700] of integer;
b:array[1..max] of integer;
begin
randomize;
for i:=1 to max do b[i]:=0; // 0-служебный символ
for i:=1 to n do 
begin
a[i]:=random(max-1)+1;
write(a[i],'  ');
end;
// это была генерация и вывод ^^^ вывод исходного массива
 
for i:=1 to n do inc(b[a[i]]); // в таблице я думаю проще хранить не конечные //элементы, а количество элементов равных индексу из исходного массива 
 
// вывод отсортированного массива
writeln;
writeln;
fot i:= 1 to max do if  b[i]<>0 then for j:=1 to b[i] do write(b[i],'  ');  
end.


должно работать, не проверял...

Добавлено через 2 минуты 22 секунды
в 22й строчке там между b[i] и 0 вместо тех непонятных символов должно быть подряд два знака больше и меньше почему-то у меня при отправке они всегда так странно заменяются

Добавлено через 30 секунд
точнее меньше больше, вобщем условие b[i] не равно 0
0
17.01.2009, 18:14
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.01.2009, 18:14
Помогаю со студенческими работами здесь

Методы сортировки: цифровой сортировки и деревьев сравнений
помогите решить методы сортировки: цифровой сортировки и деревьев сравнений ДАНО :номер...

Методы сортировки
Преобразуйте текст по следующему правилу: если нет символа '*', то оставить без изменений, иначе,...

Методы сортировки
Рекурсия . кто шарит? 1)Реализовать три алгоритма внутренней сортировки (алгоритмы выбрать...

Методы сортировки
Ребят помогите пожалуйста 1. Задать массив из 8-12 элементов. Разобрать на примере этого массива и...

Методы сортировки
Помогите изменить метод шейкер на метод вставки с прямым включением и добавить еще 3 метод...

Массивы. Методы сортировки
Сформировать массив из произведений положительных элементов каждого столбца заданной матрицы F...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru