Обновить
4

Пользователь

0,1
Рейтинг
5
Подписчики
Отправить сообщение
Ну в общем-то да, с этим я соглашусь. Но конкретно в этом топике мы говорим про целесообразность знания сортировки пузырьком. Что могу сказать по поводу. Баблсорт мне пригодился… НИ. КОГ. ДА. Даже на собеседованиях не спрашивали. А если бы copist не описал его в соседнем комментарии — из моего сообщения выше исчез бы всего один абзац про сложность.
Я не знаком с библиотеками C++ во всех подробностях (просто потому, что стараюсь избегать этот язык всеми доступными средствами — он бессмысленно сложен). Так что ничего не скажу по поводу правильности.

Но это отличный пример, почему всегда нужно искать решение какой-то новой задачи: вы можете найти решение проще, чем придуманное вами.

В худшем случае пузырёк всё равно даст N^2: когда в неотсортированной последовательности первый элемент оказался последним.

Думаю в таком случае всё же лучше подойдёт модификация квиксорта: можно не сортировать предварительно отсортированные диапазоны, вышедшие за требуемый лимит.

И всё равно я попробую сначала найти готовую реализацию этой идеи перед тем, как писать свою.
Ну почему же. Если есть возможность взять код, который лежит на каком-нибудь stackoverflow, который перепроверен и использован десятком человек, а так же, даже если и нет, его перепроверю я (уже две пары глаз вместо одной) — есть смысл это сделать. Это уменьшает шансы появления ошибок.
Что вы наделали, теперь я её знаю :D
> написать работающую реализацию.
Зачем? Зачем мне писать реализацию сортировки пузырьком, если я могу взять готовую сортировку из используемого фреймворка?
И даже если мне уж очень понадобится самописная сортировка, я скорее всего пойду искать оттестированую реализацию квиксорта (просто из-за того, что моя собственная оттестированной не будет)
Ловил себя на мысли, что я *не знаю* сортировку пузырьком. Не «не помню», а именно «не знаю». Видимо в этот момент на лекции АСД я спал. При том, что квинксорт и сортировку бинарными вставками я вполне себе помню.
Мне кажется, что идея с вписыванием в круг просто не работает. Как пример я могу привести квадрат с линией, выходящей из центра стороны и равной длине стороны.
Да ладно. Мне за мой рабочий опыт повышали зарплату только раз, где-то в 2010м году. На первой работе до того, как я ещё понял, что работу проще сменить, чем пройти все эти «ну, мы тут посмотрим, как ты работаешь, и, возможно, повысим через месяц или два».
Гхм. Имхо, на левой картинке (синяя пара) Play смещена влево, на правой — вправо.
Вот именно поэтому я и не пишу игры.
А вообще это был сарказм.
Надо сказать, что я С++ всеми силами избегаю. Лучше уж сразу на ASM, способов прострелить ногу меньше.
Вопрос из интереса: а можно ли rust-компилятору сказать, что integer overflow сделан умышленно и ошибки здесь нет?
Можно и φ и λ, если живёте где-нибудь в Афинах и у вас на клавиатуре есть эти символы. Правда я думаю, что это будет равносильно написанию названий переменных на русском у нас.
Я думаю очевидно, что я до сих пор не имею понятия, что такое afl и искать не собираюсь. Краткая справка в начале статьи даёт возможность понять, нужна ли мне эта штука, я могу прочитать это чисто из любопытства или я могу спокойно пройти мимо. Отсутствие оставляет 2 варианта: пройти мимо и высказать своё «фи».

А в текущем варианте получается «я открыл для себя фингербоксинг 5 лет и теперь решил применить его для покраски потолка»
Для использования в качестве элементов списка вы можете использовать такой код:
List.ItemsSource = Foos

Если вы хотите обновлять элементы из кода, то обновляемые поля должны быть INotifyPropertyChanged или ObservableCollection. Либо дёргать обновление вручную из кода, что наверняка возможно, но я не знаю как. Ибо никогда не использовал.

Но, впрочем, стоит уточнить, что C#/WPF не являются моей основной платформой уже лет 5 как. Так что я не последняя инстанция.

Всё, понял. Что неправильно понял. Можете подробнее описать, что бы хотите сделать? Вы имеете ввиду Dependency Injection?

Код, что я привёл, по сути кастомный сеттер свойства. А-ля public B Prop { set; get; }, но с поддержкой XAML, на случай, если вы хотите мгновенно реагировать на изменения в интерфейсе (например, обновлять по мере ввода текста результаты поиска)

— Где-нибудь как-нибудь устанавливаете DataContext элемента управления на экземпляр класса (пусть будет A)
— Добавляете DependencyProperty «Prop» типа B в класс A вот так:

public static readonly DependencyProperty PropProperty =
            DependencyProperty.Register("Prop", typeof(<B>),
            typeof(ActionPanel), new FrameworkPropertyMetadata(null, (DependencyObject d, DependencyPropertyChangedEventArgs e) => {
// Вот тут ваш callback
 }));

public B Prop 
{
	set { SetValue(PropProperty, value); }
    get { return (B)GetValue(PropProperty); }
}


— Биндите свойство в Xaml как вам нужно (если свойство меняется из интерфейса — скорее всего понадобится TwoWay binding) ( <local:A Prop="{Binding}" />)

P.S.: Да, я знаю, что код ужасен. Именно поэтому я жалею об отсутствии препроцессора: он помог бы обернуть бойлерплэйт во что-нибудь вменяемое.
В стандартной разметке это вполне можно сделать через Dependity Property, на который забинден объект. Другой вопрос, что этот код не отличается вменяемостью (место, в котором я ДЕЙСТВИТЕЛЬНО жалею об отсутствии препроцессора в C#)
Простите, а зачем тогда нужна эта статья, если вместо неё я могу сразу перейти на википедию и документацию?

Информация

В рейтинге
3 745-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность