Агрегирование столбца по тому же столбцу

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]);

}

}

1
задан JdeMello 16 January 2019 в 19:49
поделиться

1 ответ

Каждый столбец в by= сокращается до длины один вместо избыточного дублирования значений до длины группы, .N, занимая больше памяти. Вы по-прежнему можете вычислить сумму путем умножения на .N, хотя:

dt[, x*.N, by=x]

... или вектор полной длины можно добавить к .SD (хотя это никогда не должно быть необходимо): [ 1111]

dt[, sum(.SD$x), by=x, .SDcols="x"]

.SD является «Подмножеством данных» для данной by= группы. Подробности см. В ?.SD или ?.N.

0
ответ дан Frank 16 January 2019 в 19:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: