Java复习<简单数据排序>&数据结构预习<专有名词理解>

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

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

水平有限仅供交流

请对下列数据进行排序,说说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);
	}

	
}
  • 自学数据结构第一章,回答下列问题

  1. 解释数据、数据元素、数据项、关键字、主关键字。
  2. 数据:信息的符号表示,计算机的处理对象(例如:姓名年龄,电话号码)

    数据元素:描绘一个东西时所用的一组数据(例如:一个学生的学籍信息由各种数据构成,姓名、学号、年龄)

    数据项:数据元素中最小的单位(例如学籍信息中的某一项例如学号20200865XXX

    关键字:识别元素(基本的信息标志,例如你的分数成绩,不会出现在别人的报告里,你的学号(数据项)就是关键字---标志了这个是你的个人数据)

    主关键字:唯一识别元素(核心数据描述对象学号和姓名,学号作为系统主要识别对象)

  3. 解释数据结构,有几种类型的数据结构,各举例说明。
  4. 数据结构:相互之间存在一种或者多种特定关系的数据元素的集合(数据的逻辑结构、

    数据的存储结构,数据操作--------存成什么样子、在哪里存、存了怎么用

    类型: 1、集合结构;2、线性结构;3、树型结构;4、图形结构。


  5. 数据的存储结构有那几种。
  6. 1、顺序存储结构

    2、链式存储结构

  7. 对数据有哪些操作?
  8. 对增删改查的进一步实现

  9. Java有那些基本的数据类型。
  10. 自行参考Java课本(大黄书)

  11. 抽象的数据类型与具体的数据类型有什么不一样   

  12. 算法的5个特性是什么?
    1. 有穷性
    2. 确定性
    3. 输入
    4. 输出
    5. 可行性
  13. 算法设计的目标是什么?
    1. 正确性
    2. 可读性
    3. 健壮性
    4. 高时间效率
    5. 高空间效率
  • 算法的时间复杂度与空间复杂度如何计算
  • 自己动动小脑袋瓜想想就知道了

 

  1. 推荐图书《大话数据结构》

    有些观点和结构很不错

您可能感兴趣的与本文相关的镜像

Wan2.2-T2V-A5B

Wan2.2-T2V-A5B

文生视频
Wan2.2

Wan2.2是由通义万相开源高效文本到视频生成模型,是有​50亿参数的轻量级视频生成模型,专为快速内容创作优化。支持480P视频生成,具备优秀的时序连贯性和运动推理能力

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值