「加权排序java」加权排序矩阵

博主:adminadmin 2022-11-23 16:54:07 65

今天给各位分享加权排序java的知识,其中也会对加权排序矩阵进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

JAVA 中 加权什么意思

数据结构中的吧,没加权的比如a到b是一条线,加权就是这条线段ab有一个额外的附加含义,比如他长10,或者经过他需要时间为14,等等。加权就是使得一个没意义的东西变得可以权衡了,比如ab长度为3,cd长度为4,那么ab和cd都是加权的了,他们的权值就分别是3和4,他们两者也就可以权衡了,也就在某个情况下有个比较的参考了。

java随机数怎么做加权

class C9

{

static int i;

static void sui()

{

System.out.println("\n 排序前:");

float [] a=new float[30];

for(i=0;i30;i++)

{

a[i]=(float)(Math.random()*20);//获得30个随机数

System.out.print(" "+a[i]+" ");

if((i+1)%3==0)

System.out.println();

}

pai(a);

}

static void pai(float a[])

{

System.out.println("\n 排序后:");

for(i=0;i29;i++) //冒泡法排序

{

for(int j=0;j29-i;j++)

{

if(a[j]a[j+1])

{

float t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

}

for(i=0;i30;i++)

{

System.out.print(" "+a[i]+" ");

if((i+1)%3==0)

System.out.println();

}

suip(a); //把数组传给下个函数

}

static void suip(float a[]) //把函数打乱,

{

int k=1;

int l=0;

int d;

int [] b=new int[30];

float [] c=new float[30];

c[0]=a[0];

b[0]=(int)(Math.random()*30);

while(k30)

{

d=(int)(Math.random()*30); //随机一个30内整数给d

for(l=0;lk;l++)

{

if(b[l]==d) //d的数和数组里的数比较,若有重复,则退出for循环,返还上面重新给d赋值

break;

if(l==k-1) //把d里的数写进c数组

{

b[k]=d;

c[d]=a[k];

k++;

}

}

}

System.out.println("\n打乱后:");

for(i=0;i30;i++)

{

d=b[i]; //数组的值给c数组的下标,把a数组的值给c数组

c[d]=a[i];

System.out.print(" "+c[i]+" ");

if((i+1)%3==0)

System.out.println();

}

}

public static void main(String[] args)

{

sui();

}

}

设计一种java数据结构,按照权重进行排序

public enum SortBy {

Number,

Weights1,

Weights2

}

import java.util.Comparator;

 

public class MyComparator implements ComparatorStudent{

 

private SortBy sortBy;

 

public MyComparator (SortBy sortBy){

this.sortBy = sortBy;

}

 

@Override

public int compare(Student s1, Student s2) {

switch (this.sortBy) {

case Weights1:

return s1.getWeights1() - s2.getWeights1();

case Weights2:

return s1.getWeights2() - s2.getWeights2();

default:

return s1.getNumber() - s2.getNumber();

}

}

}

import java.util.Collections;

import java.util.Comparator;

import java.util.LinkedList;

import java.util.List;

 

public class Student {

private int number;

private int weights1;

private int weights2;

 

public Student(int number, int weights1, int weights2) {

this.number = number;

this.weights1 = weights1;

this.weights2 = weights2;

}

 

public int getNumber() {

return this.number;

}

 

public int getWeights1() {

return this.weights1;

}

 

public int getWeights2() {

return this.weights2;

}

 

public static void main(String[] args){

final Student s1 = new Student(1, 20, 300);

final Student s2 = new Student(2, 10, 100);

final Student s3 = new Student(3, 30, 200);

 

final ListStudent array = new LinkedListStudent();

array.add(s1);

array.add(s2);

array.add(s3);

 

 

final ComparatorStudent numberComparator = new MyComparator(SortBy.Number);

Collections.sort(array, numberComparator);

System.out.println("sort by number");

System.out.print("Number: ");

for(Student s: array){

System.out.print(s.getNumber() + " ");

}

System.out.println("\n\n");

 

 

final ComparatorStudent weights1Comparator1 = new MyComparator(SortBy.Weights1);

System.out.println("sort by weights1");

System.out.print("Number: ");

Collections.sort(array, weights1Comparator1);

for(Student s: array){

System.out.print(s.getNumber() + " ");

}

System.out.println("\n\n");

 

final ComparatorStudent weights2Comparator = new MyComparator(SortBy.Weights2);

System.out.println("sort by weights2");

System.out.print("Number: ");

Collections.sort(array, weights2Comparator);

for(Student s: array){

System.out.print(s.getNumber() + " ");

}

System.out.println("\n\n");

}

}

sort by number

Number: 1 2 3

 

 

sort by weights1

Number: 2 1 3

 

 

sort by weights2

Number: 2 3 1

如何在java代码中设置权重

editText.setLayoutParams(new LinearLayout.LayoutParams(width, height, weight)); 只有LinearLayout才有layout_weight属性。

加权排序?

加权排序法:所谓的加权排序法,就是将你认为的重要的因素加以排序,根据重要的程度赋予不同的值,然后和当前的结果相乘,得到一个新的结果。举个例子:现在某所学校要进行奖学金评选,设定期中考试占70%,期末考试占30%。这时候有两个学生,A期中考试得100分,期末考试得90分,B期中考试得90分,期末考试得100分。如果按照平均分来看,两个学生不分上下,但是通过加权方式的计算,A综合得分97分,B得分93分。A排名在B前面。

关于加权排序java和加权排序矩阵的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-23,除非注明,否则均为首码项目网原创文章,转载请注明出处。