public class Selectionsort {
public static int arr []; public static int y;
public static void main (String args []) {
System.out.println («Введите число элементов, которое вы хотите ввести для сортировки»);
int nofele= Integer.parseInt(args[0]);
System.out.println("Enter number of element entered for sorting is "+ "\n" +nofele);
arr = new int[nofele];
System.out.println("Entered array is");
for(int i=1,j=0;i<=nofele;i++,j++){
arr[j]=Integer.parseInt(args[i]);
System.out.println(arr[j]);
}
System.out.println("Sorted array for selection sort is ");
for(int k=0;k<nofele-1;k++) {
for(int l=nofele-k,b=1;l>=2;l--,b++){
if(arr[k]>arr[k+b]){
int temp=arr[k];
arr[k]=arr[k+b];
arr[k+b] = temp;
}
}
System.out.println(arr[k]);
}
System.out.println(arr[nofele-1]);
}
}
Каждый столбец в by=
сокращается до длины один вместо избыточного дублирования значений до длины группы, .N
, занимая больше памяти. Вы по-прежнему можете вычислить сумму путем умножения на .N
, хотя:
dt[, x*.N, by=x]
... или вектор полной длины можно добавить к .SD
(хотя это никогда не должно быть необходимо): [ 1111]
dt[, sum(.SD$x), by=x, .SDcols="x"]
.SD
является «Подмножеством данных» для данной by=
группы. Подробности см. В ?.SD
или ?.N
.