Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
burunduk32
16 / 16 / 9
Регистрация: 18.12.2010
Сообщений: 37
1

Сортировка массива (найти ошибку)

08.02.2012, 21:02. Просмотров 523. Ответов 5
Метки нет (Все метки)

Добрый вечер.
Такая задача: есть два массива $number и $route, количество элементов одинаковое, логически они связаны по индексу (для решения задачи двумерный массив не нужен, а нужны именно два отдельных) нужно отсортировать два массива по возрастанию элементов массива $number.
Вот сортировка, возникает ошибка (зацикливание) при перестановке элементов, если обмен элементов в $number закоментить ошибки нет. Голова скоро лопнет, кажется все элементарно, но вот.
Заранее большое спасибо за ответ.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
for ($j=0;$j<=count($number)-2;$j++){
        for ($i=0;$i<=count($number)-$j-1;$i++){
            if ($number[$i] > $number[$i+1]){
                    $x = $number[$i];
                    $number[$i] = $number[$i+1];
                    $number[$i+1] = $x;
                    $x = $route[$i];
                    $route[$i] = $route[$i+1];
                    $route[$i+1] = $x;
            }
        }
    }
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2012, 21:02
Ответы с готовыми решениями:

Сортировка массива по значениям другого массива
Есть 2 массива. Один многомерный, который выглядит примерно вот так: array (...

Из массива $_FILES получаю ошибку
Всем здрасте в чём трабл может быть, при загрузке файла из &lt;input...

Сортировка массива
Приветствую уважаемые форумчане! Ситуация такая: у меня ошибки записываются в...

Сортировка массива
Помогите отсортировать массив. нужна сортировка по от наибольшего значения ...

Сортировка массива
Ребят помогите пожалуйста отсортировать массив array(5) { =&gt; array(3) { =&gt;...

5
Ivan.php
54 / 54 / 24
Регистрация: 07.05.2011
Сообщений: 155
09.02.2012, 15:36 2
Проще было бы написать что Вы получаете на входе и что Вы хотите получить на выходе.
0
Серега_EX
15 / 15 / 0
Регистрация: 09.02.2012
Сообщений: 30
09.02.2012, 18:18 3
кто ж так массив сортирует?
так же проще:
for (j=0;j<count-1;j++)
for (i=j;i<count-1;i++)
0
burunduk32
16 / 16 / 9
Регистрация: 18.12.2010
Сообщений: 37
10.02.2012, 18:53  [ТС] 4
Проще было бы написать что Вы получаете на входе и что Вы хотите получить на выходе.
PHP
1
2
3
4
5
$number=array('2', '3', '1', '5', '4');
$route=array('a', 'b', 'c', 'd', 'f');
 в результате сортировки нужно получить:
$number=array('1', '2', '3', '4', '5');
$route=array('c', 'a', 'b', 'f', 'd');
кто ж так массив сортирует?
так же проще:
for (j=0;j<count-1;j++)
for (i=j;i<count-1;i++)
Не вижу никакой разницы, делать проход с начала или от середины.

Большое спасибо всем кто откликнулся, ошибку я нашла:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
for ($j=0;$j<=count($number)-2;$j++){
    for ($i=0;$i<=count($number)-$j-2;$i++){
        if ($number[$i] > $number[$i+1]){
            $x = $number[$i];
            $number[$i] = $number[$i+1];
            $number[$i+1] = $x;
            $x = $route[$i];
            $route[$i] = $route[$i+1];
            $route[$i+1] = $x;
        }
        }
}
0
vizual
0 / 0 / 0
Регистрация: 07.02.2012
Сообщений: 2
10.02.2012, 20:14 5
а почему двухмерным не отсортировать и стандартной функцией ?
0
Great-Antique
65 / 65 / 6
Регистрация: 22.09.2010
Сообщений: 182
10.02.2012, 22:15 6
если вам надо 2 массива, то разве вам мешают создать из них один, отсортировать и разделить на 2 разных уже отсортированные?
0
10.02.2012, 22:15
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2012, 22:15

Сортировка массива
Здравствуйте. =&gt; Array ( =&gt; 1 =&gt; ...

Сортировка массива
Почему после сортировки массива,его индексы a,b,c заменяются цифрами(0,1,2...

Сортировка массива
Добавлено через 17 минут Есть массив. Как отсортировать по значению ключа...


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

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

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