Модераторы: LSD, AntonSaburov

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Передача параметра по ссылке и по значению 
:(
    Опции темы
Мурлыкатам_
Дата 11.11.2008, 18:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 5.2.2007
Где: город-герой Минск

Репутация: нет
Всего: 2



Я думаю каждый программист использует сортировку в своей жизни  smile 

Поэтому зная алгоритм и его реализацию, лучше один раз написать сортировку самому и понять, как она работает, чем использовать кота в мешке =))) или каждый раз искать алгоритм в инете.

Цитата(SoulKeeper @  11.11.2008,  17:47 Найти цитируемый пост)
Что-то не верится что на этом форуме наберется десяток программистов которые смогут написать по памяти хоть пару из 


Мне тоже не вериться, потому что их число будет значительно больше  smile 

Да и в любом случае понимание алгоритма лучше, чем бездумное использование готового!


--------------------
Хочешь что-то сделать - сделай это сам или попроси помощи на винграде smile
user posted image
PM MAIL ICQ   Вверх
kashka
Дата 17.4.2009, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



Теперь мне по крайней мере понятно почему у меня не работает след. (транспонирование двухмерногоа массива)
Код

    public static void trasponseArray(Object[][] array) {        
        
        int n = array.length;
        int m = array[0].length;
        
        Object[][] temp = new Object[n][m];
        
        
        for (int i = 0; i < n; i++) {            
            for (int j = 0; j < m; j++) {
                temp[i][j] = array[i][j];
            }
            System.out.println();
        }        
        
        array = new Object[m][n];
        
        for (int i = 0; i < temp.length; i++) {
            for (int j = 0; j < temp[i].length; j++) {
                array[j][i] = temp[i][j];
            }
        }

        
    }


Так как передаётся не сама ссылка а её копия, хм...Так это что же получается нет никакой другой возможности кроме как return добавлять? 
PM MAIL   Вверх
kashka
Дата 17.4.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 29.11.2004
Где: Wolfenbuettel, Ge rmany

Репутация: 1
Всего: 1



Что то я торможу, второй массив мне и не нужен вовсе:
Код

    public static void trasponseArray(Object[][] array) {        
        
        int n = array.length;
        int m = array[0].length;
        
        for (int i = 0; i < n; i++) {            
            for (int j = i + 1; j < m; j++) {
                Object temp1 = array[i][j];
                Object temp2 = array[j][i];
                array[j][i] = temp1;
                array[i][j] = temp2;
            }            
        }
        
    }


Но работает это конечно только для nxn массивов.
PM MAIL   Вверх
goodday1941
Дата 17.4.2009, 17:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 709
Регистрация: 16.7.2006
Где: Украина, Киев

Репутация: 1
Всего: 9



Цитата(kashka @  17.4.2009,  13:02 Найти цитируемый пост)
Так как передаётся не сама ссылка а её копия, хм...Так это что же получается нет никакой другой возможности кроме как return добавлять?  


как насчет варианта с враппером?

Код

class ArrayWrapper{
private Object[][]array;
//getter.. setter
}


..

ну и метод транспонирования будет получать на вход объект класса ArrayWrapper
Код


trasponseArray(ArrayWrapper arrayWrapper);


Это сообщение отредактировал(а) goodday1941 - 17.4.2009, 17:57


--------------------
SCJP 6
PM MAIL ICQ Skype GTalk   Вверх
math64
Дата 17.4.2009, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2505
Регистрация: 12.4.2007

Репутация: 8
Всего: 72



Если лень создавать враппер, сойдёт и массив из одного элемента:
Код

void trasponseArray(Object[][][] parray) {
  ...
}
...
Object[][] array;
...
Object[][][] parray = { array };
trasponseArray(parray);
array = parray[0];

PM   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0692 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.