水平有限仅供交流
请对下列数据进行排序,说说Java编程的套路。
1001 zhangsan 5006
1002 lisi 8123
1003 wangwu 7845
1004 zhaoliu 12000
1005 qianqi 3220
注:每行数据有三项:工号 姓名 工资
核心:
面向目标对象的数据处理
套路:
1明确目标对象组成结构
2设置对象数据结构,设置必要属性,增添类中属性和构造方法辅助数据处理
3编写算法对数据进行处理
4以固定格式输出处理过的数据
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;
//核心:面向目标对象的数据处理
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
// 编写算法对数据进行处理
Scanner cin = new Scanner(System.in);
Student student[] = new Student[5];
for (int i = 0; i < 5; i++) {
student[i] = new Student(cin.nextInt(), cin.next(), cin.nextInt());
}
// 以固定格式输出处理过的数据
System.out.println("******工号倒序排列******");
Arrays.sort(student);
for (Student x : student) {
System.out.println(x.toString());
}
System.out.println("******以字典序对名字排序******");
Arrays.sort(student,new StudentName());
for (Student x : student) {
System.out.println(x.toString());
}
}
}
// 明确目标对象组成结构
class Student implements Comparable<Student> {
// 设置对象数据结构,设置必要属性,增添类中属性和方法辅助数据处理
int id;
String name;
int salary;
public Student(int id, String name, int salary) {
super();
this.id = id;
this.name = name;
this.salary = salary;
}
@Override
public int compareTo(Student o) {
// TODO Auto-generated method stub
return -this.id + o.id;
}
@Override
public String toString() {
return id + " " + name + " " + salary;
}
}
class StudentName implements Comparator<Student>{
@Override
public int compare(Student o1, Student o2) {
// TODO Auto-generated method stub
return o1.name.compareTo(o2.name);
}
}
-
自学数据结构第一章,回答下列问题
- 解释数据、数据元素、数据项、关键字、主关键字。
-
数据:信息的符号表示,计算机的处理对象(例如:姓名年龄,电话号码)
数据元素:描绘一个东西时所用的一组数据(例如:一个学生的学籍信息由各种数据构成,姓名、学号、年龄)
数据项:数据元素中最小的单位(例如学籍信息中的某一项例如学号20200865XXX)
关键字:识别元素(基本的信息标志,例如你的分数成绩,不会出现在别人的报告里,你的学号(数据项)就是关键字---标志了这个是你的个人数据)
主关键字:唯一识别元素(核心数据描述对象学号和姓名,学号作为系统主要识别对象)
- 解释数据结构,有几种类型的数据结构,各举例说明。
-
数据结构:相互之间存在一种或者多种特定关系的数据元素的集合(数据的逻辑结构、
数据的存储结构,数据操作--------存成什么样子、在哪里存、存了怎么用)
类型: 1、集合结构;2、线性结构;3、树型结构;4、图形结构。
数据的存储结构有那几种。-
1、顺序存储结构
2、链式存储结构
- 对数据有哪些操作?
-
对增删改查的进一步实现
- Java有那些基本的数据类型。
-
自行参考Java课本(大黄书)
-
抽象的数据类型与具体的数据类型有什么不一样
- 算法的5个特性是什么?
- 有穷性
- 确定性
- 输入
- 输出
- 可行性
- 算法设计的目标是什么?
- 正确性
- 可读性
- 健壮性
- 高时间效率
- 高空间效率
- 算法的时间复杂度与空间复杂度如何计算
- 自己动动小脑袋瓜想想就知道了

-
推荐图书《大话数据结构》
有些观点和结构很不错
本文通过一个Java编程示例展示了如何对数据进行排序,包括工号倒序排列和按姓名字典序排序。核心在于面向目标对象的数据处理,定义了Student类并实现了Comparable接口和自定义Comparator。同时,文章介绍了数据结构的基本概念,如数据、数据元素、数据项、关键字和主关键字,并探讨了数据结构的类型和存储结构。

被折叠的 条评论
为什么被折叠?



