Я думаю, что другие ответы отсутствуют точки; если вам нужно сделать это «за один проход», то сначала вызов алгоритма сортировки будет означать более одного прохода через данные. То же самое для ввода данных в упорядоченный набор и т.д.
Это не полный ответ, но широкий намек ..
Чтобы решить эту проблему, подумайте о том, как вы бы решить более простую задачу: рассмотреть, как вы найдет наибольшее значение за один проход - вы начинаете с первого значения в списке, а затем просматриваете список по одному - каждый раз, когда вы видите большее значение, чем ваше текущее значение, вы отказываетесь от предыдущего наибольшее значение и сохранить новый. Пока вы просматриваете свой список, вы также можете сравнить его с наименьшим значением и заменить свое текущее наименьшее значение новым меньшим значением. Когда вы дойдете до конца списка, вы нашли бы самый большой и самый маленький за один проход.
Теперь подумайте о том, как вы могли бы расширить эту логику, чтобы найти второй по величине объект: что вы проверяете каждый раз, когда смотрите новый номер? это больше, чем ваше наибольшее число? это больше, чем ваш второй по величине? и т. д.
Обновление: вам понадобится сделать специальную логику для списка с менее чем двумя элементами в нем: вопрос не имеет смысла для списка с длиной < 2, так что это зависит от вас решить, что делать с этими ресурсами. (т. е. что бы ваш учитель хотел увидеть?)
жаль, что мы помогаем, если вы что-то пробовали. Если да, то разместите свой код, четко указав, с какими проблемами вы столкнулись. – SpringLearner
Знает ли ваш учитель, что вы здесь? – csmckelvey
@JqueryLearner. Я думал, что я буду сортировать набор чисел от наименьшего до самого большого, а затем значение, стоящее после наименьшего значения, будет вторым наименьшим значением, то же самое со вторым по величине значением, стоящим перед самым большим значением, будет второе по величине значение. если есть какой-то дубликат, то будет продолжаться до получения нового значения.BTW, мне не нужно делать какой-либо код, просто получайте идею рисовать блок-схему и писать псевдокод. – BBKay