Java类代替C++结构体,并实现对应的排序输出
文章目录
C++结构体排序
下面展示一些 内联代码片
。
#include<iostream>
#include<algorithm>
using namespace std;
struct node{
string name;//姓名
int id;//id号
int cj;//成绩
};
bool cmp(node x,node y)
{
return x.cj<y.cj;
}
int main()
{
int t;
cin>>t;
node a[t];
for(int i=0;i<t;i++)
{
cin>>a[i].name>>a[i].id>>a[i].cj;
}
sort(a,a+t,cmp);
for(int i=0;i<t;i++)
{
cout<<a[i].name<<" "<<a[i].id<<" "<<a[i].cj<<endl;
}
return 0;
}
这里只是对成绩进行排名,成绩相同时没有写,如果需要,可以在cmp函数里面加上就行。
Java中采用类实现相同功能
方法一
第一种采用Student类实现Comparable接口的方法(Student类代替的就是结构体)
将Student类中的compareTo方法实现。
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;
//用类代替结构体并排序的方法
public class ldtjgtpx {
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
while(sc.hasNext())//一直循环
{
int n=sc.nextInt();
List<Student> students=new ArrayList<>();
for(int i=0;i<n;i++)
{
String name=sc.next();
int age=sc.nextInt();
int cj=sc.nextInt()