реклама на сайте
подробности

 
 
> перебрать массив по возрастанию побыстрее, как это сделать за n циклов AVR?
_Ivan_33
сообщение Feb 17 2010, 11:20
Сообщение #1


fpga designer
****

Группа: Свой
Сообщений: 613
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



здравствуйте! есть массив на 32 элемента типа int
нужно поставить их в порядке возрастания микроконтроллером ATmega1280 с тактовой частотой 16 Мгц от кварца
успею ли я простым перебором, сранивая соседние числа и двигая их уложиться в 1100 мкс?


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
=GM=
сообщение Feb 17 2010, 14:56
Сообщение #2


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(_Ivan_33 @ Feb 17 2010, 11:20) *
массив на 32 элемента типа int нужно отсортировать в порядке возрастания

Я делал сортировку таким образом.

0. Номер массива i=1

1. Для i-го элемента простым перебором находится максимум от (i+1)-го элемента массива до N-го.

2. Максимум сравнивается с i-м элементом и меняется их местами, если второй больше.

3. i=i+1

4. п.1-п.3 повторяются до i=N

За 17600 тактов спокойно можно отсортировать. Чтобы убыстрить процесс, можно разбить массив пополам, отсортировать каждую половину, затем слить вместе.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 01:27
Рейтинг@Mail.ru


Страница сгенерированна за 0.01355 секунд с 7
ELECTRONIX ©2004-2016