В моем маленьком проекте здесь я отсортировал список в порядке убывания, однако моя цель - сортировать его в этом обычном шаблоне. (самый большой -> самый маленький -> следующий по величине -> следующий маленький ->) и т. д.Python: чередующиеся элементы отсортированного массива
В Java я был в состоянии сделать это так:
public static void wackySort(int[] nums) {
//first, this simply sorts the array by ascending order.
int sign = 0;
int temp = 0;
int temp2 = 0;
for (int i = 0; i < nums.length; i++) {
for (int j = 0; j < nums.length -1; j++){
if (nums[j] > nums[j+1]) {
temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
//prepare for new array to actually do the wacky sort.
System.out.println();
int firstPointer = 0;
int secondPointer = nums.length -1;
int[] newarray = new int[nums.length];
int size = nums.length;
//increment by two taking second slot replacing the last (n-1) term
for (int i = 0; i < nums.length -1; i+=2) {
newarray[i] = nums[firstPointer++];
newarray[i+1] = nums[secondPointer--];
}
//store those values back in the nums array
for (int i = 0; i < nums.length; i++) {
nums[i] = newarray[i];
}
}
Моя цель состоит в том, чтобы сделать то же самое, но в питоне, за исключением назад. Любые идеи о том, как преобразовать этот последний цикл в цикл, который делает wackysort в python и заставить его вернуться назад?
Таким образом, вы в основном хотят кого-то к порту код на Python? Почему бы вам не сделать это самостоятельно? – enpenax
Я уже все это сделал в python, я просто не знаю, как преобразовать этот последний для цикла в python и сделать его обратно :) – Binka
Попытка конвертировать код из Java в Python почти всегда плохая идея. В итоге вы получаете плохой код, который трудно читать и поддерживать, работает медленно, и у вас есть ошибки, которых вы не ожидали (потому что версия Java не работает). – abarnert